jQuery無沖突模式詳解
解決沖突的方法:
在jQuery中解決沖突的方法是noConflict()方法,這個(gè)方法將$標(biāo)識(shí)符的控制權(quán)返回給其他JavaScript庫
如以下示例中的jQuery代碼將在將jQuery加載到頁面后立即將其置于無沖突模式,并分配新的變量名稱$j以替換$別名,以避免與原型框架沖突。詳細(xì)代碼如下:
// 為jQuery定義新的名字
var $j = jQuery.noConflict();
$j(document).ready(function(){
// 單擊demo時(shí)彈出對(duì)話框
$j("#demo").click(function(){
alert("這是jQuery的新定義");
});
});
//原型框架代碼
document.observe("dom:loaded", function(){
// 點(diǎn)擊demo1顯示彈出框
$(demo1).observe('click', function(event){
alert("原型與jQuery一起正常運(yùn)行");
});
});
效果圖如下:

但是,如果不想為jQuery定義另一個(gè)快捷方式不想修改現(xiàn)有的jQuery代碼或者是覺得$在jQuery中節(jié)省了不少時(shí)間而且易于使用,那么我們可以使用另一種方法來代替
我們可以將$作為參數(shù)傳遞給jQuery(document).ready()函數(shù)
// 為jQuery定義新的名字
jQuery.noConflict();
jQuery(document).ready(function($){
// The dollar sign in here work as an alias to jQuery
$("#demo").click(function(){
alert("jQuery正在正常工作");
});
});
document.observe("dom:loaded", function(){
$(demo1).observe('click', function(event){
alert("jQuery與原型一起正常使用");
});
});
效果圖:

注意:
避免沖突的上述解決方案依賴于在加載prototype.js之后加載jQuery。但是如果在其他庫之前包含jQuery,則可以在jQuery代碼中使用全名,以避免沖突而不調(diào)用jQuery.noConflict()。但在這種情況下,$將具有在其他庫中定義的含義
總結(jié):以上就是本篇文章的全部內(nèi)容了,希望對(duì)大家有所幫助
相關(guān)文章
iframe異步加載實(shí)現(xiàn)點(diǎn)擊左邊菜單加載右邊內(nèi)容實(shí)例講解
iframe異步加載想必很多朋友對(duì)你都不會(huì)陌生,接下來將實(shí)現(xiàn)這樣一個(gè)功能左邊菜單不能刷新的情況下,異步加載右邊的內(nèi)容頁面,感興趣的你可以參考下本文或許對(duì)你有所幫助2013-03-03
淺析JQuery獲取和設(shè)置Select選項(xiàng)的常用方法總結(jié)
本篇文章是對(duì)JQuery獲取和設(shè)置Select選項(xiàng)的一些常用方法進(jìn)行了匯總介紹,有需要的朋友可以參考一下2013-07-07
jQuery實(shí)現(xiàn)文件編碼成base64并通過AJAX上傳的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)文件編碼成base64并通過AJAX上傳的方法,涉及jQuery前臺(tái)使用FileReader對(duì)象編碼base64文件進(jìn)行ajax上傳及后臺(tái)php處理相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
使用Ajax和Jquery配合數(shù)據(jù)庫實(shí)現(xiàn)下拉框的二級(jí)聯(lián)動(dòng)的示例
下面小編就為大家分享一篇使用Ajax和Jquery配合數(shù)據(jù)庫實(shí)現(xiàn)下拉框的二級(jí)聯(lián)動(dòng)的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
CheckBoxList多選樣式j(luò)query、C#獲取選擇項(xiàng)
使用jquery、C#獲取CheckBoxList選擇項(xiàng),實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-09-09
jquery中獲得$.ajax()事件返回的值并添加事件的方法
如果想獲得$.ajax()中返回的值,直接用在success:funciton(){return xx} 是不可以的,要想獲得xx的值,要在script中,使用全局變量。利用全局變量引出xx的值。2010-04-04
jquery(live)中File input的change方法只起一次作用的解決辦法
jquery中File input的change方法只起一次作用的解決辦法,需要的朋友可以參考下。2011-10-10

