• <button id="eiyoe"><acronym id="eiyoe"></acronym></button>
    <em id="eiyoe"></em>

  • <rp id="eiyoe"><acronym id="eiyoe"><input id="eiyoe"></input></acronym></rp>
      查看: 2452|回復: 0
      上一主題 下一主題

      jQuery - noConflict() 方法

      1298

      主題

      0

      好友

      39

      積分

      管理員 離線 發信

      跳轉到指定樓層
      樓主
      發表于 2014-02-19 15:35 | 只看該作者 | 倒序瀏覽

      jQuery - noConflict() 方法

      如何在頁面上同時使用 jQuery 和其他框架?

      jQuery 和其他 JavaScript 框架

      正如您已經了解到的,jQuery 使用 $ 符號作為 jQuery 的簡寫。

      如果其他 JavaScript 框架也使用 $ 符號作為簡寫怎么辦?

      其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。

      其中某些框架也使用 $ 符號作為簡寫(就像 jQuery),如果您在用的兩種不同的框架正在使用相同的簡寫符號,有可能導致腳本停止運行。

      jQuery 的團隊考慮到了這個問題,并實現了 noConflict() 方法。

      jQuery noConflict() 方法

      noConflict() 方法會釋放會 $ 標識符的控制,這樣其他腳本就可以使用它了。

      實例

      當然,您仍然可以通過全名替代簡寫的方式來使用 jQuery:

      $.noConflict();jQuery(document).ready(function(){ jQuery("button").click(function(){  jQuery("p").text("jQuery 仍在運行!"); });});

      親自試一試

      實例

      您也可以創建自己的簡寫。noConflict() 可返回對 jQuery 的引用,您可以把它存入變量,以供稍后使用。請看這個例子:

      var jq = $.noConflict();jq(document).ready(function(){ jq("button").click(function(){  jq("p").text("jQuery 仍在運行!"); });});

      親自試一試

      實例

      如果你的 jQuery 代碼塊使用 $ 簡寫,并且您不愿意改變這個快捷方式,那么您可以把 $ 符號作為變量傳遞給 ready 方法。這樣就可以在函數內使用 $ 符號了 - 而在函數外,依舊不得不使用 "jQuery":

      $.noConflict();jQuery(document).ready(function($){ $("button").click(function(){  $("p").text("jQuery 仍在運行!"); });});

      親自試一試

      jQuery 核心參考手冊

      如需完整的 jQuery 核心方法概覽,請訪問我們的 jQuery 核心參考手冊。

      來源:http://www.w3school.com.cn/jquery/jquery_noconflict.asp