天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jQuery與其它庫沖突的解決方法

(注意:默認(rèn)情況下,jQuery用$作為自身的縮寫而以)
如果jQuery類庫和別的類庫沖突的話,可以使用jQuerynoConflict()函數(shù)來將變量$的控制權(quán)移交出給其它的JavaScipt庫。看下面小片斷代碼
<script type="text/Javascript" src="../JS/JsCOM.js"></script>
<script type="text/Javascript" src="../jQuery/jquery-1.3.2-vsdoc2.js"></script>
假設(shè)JsCOM.js庫中,有這樣一個函數(shù)
復(fù)制代碼 代碼如下:
function $(objName) {
if (document.getElementById) {
return eval('document.getElementById("' + objName + '")')
}
else {
return eval("document.all." + objName)
}

大家都知道jQuery里面也一個這樣的函數(shù),為了不引起沖突,我們將jQuery的變量$的控制權(quán)移交出給別的Javascript庫
復(fù)制代碼 代碼如下:
jQuery.noConflict(); //將變量$的控制權(quán)移交給JsCOM.js
var $cr = jQuery("#cr"); //照樣使用jQuery類庫,只是用jQuery代替了原來的$而以。
var JsCOM_cr = $("cr"); //使用JsCOM.js類庫

在這里可以把jQuery()函數(shù)作為jQuery對象的制造工廠.
在這里要注意幾點
1.引用Javascript類庫時,一定要把jQuery引用放在最后面,就像上面一樣,JsCOM.js的引用在jQuery引用的前面(具體原因我也不知,不過確實需要這樣)
2.特別要注意jQuery()代替$()時,jQuery是區(qū)分大小寫的,因為Javascript本身就是區(qū)分大小寫的(好像說這個有點多余,不過還是希望大家不要犯這種錯誤)
基本上根據(jù)上面的
方法就可以解決jQuery和其它庫的沖突問題了!
如果你覺得上面的方式不爽,每次都要打jQuery來代替$增加了您敲鍵盤的工作量,那請接著看。。
除上面之外,還有另一種選擇。如果想確保jQuery不會與其它庫沖突,但又想自定義一個快捷方式,可以進(jìn)行如下操作;
復(fù)制代碼 代碼如下:
var $j = jQuery.noConflict(); //自定一個快捷方式
var $cr = $j("#cr"); //使用jQuery類庫,得用自定義快捷方式----$j;
var JsCOM_cr = $("cr"); //和上一段代碼一樣,使用的是JsCOM.js類庫

如果您還有別的要求,想繼續(xù)使用原先的$(),同時還需要與別的類庫不沖突的話,還有兩種解決方法
其一:
復(fù)制代碼 代碼如下:
jQuery.noConflict(); //將變量$的控制權(quán)讓給JsCOM.js
jQuery(function($)
{
$("p").click(function() //在函數(shù)內(nèi)繼續(xù)可以使用jquery類庫的$()方法
{
alert($(this).text());
})
})
var JsCOM_cr = $("cr"); // 在函數(shù)外面,照樣可以使用JsCOM.js的$()方法

其二:
復(fù)制代碼 代碼如下:
jQuery.noConflict(); //將變量$的控件權(quán)移交給別的類庫,使用jquery類庫的$符號時,請使用jQuery("#id");
(function($) { //定義匿名函數(shù)并設(shè)置形參為$
$(function() { //匿名函數(shù)內(nèi)部的$均為jQuery
$("div").click(function() {//繼續(xù)使用$()方法
alert($(this).text());
})
})
})
(jQuery); //使用匿名函數(shù)且傳遞實參jQUery
alert($("cr")); //使用的是jsCOM.js類庫中的$()函數(shù)

第二種方法應(yīng)該是兼容舊的代碼最好的方式,修改的代碼是最少的!
不過如果是新寫的jQuery代碼,我還是比較喜歡使用剛開始講的那種(jQuery.noConflict(),然后就使用jQuery("#id"),這種方式)
如果您的頁面是先引用jQuery類庫再引入別的類庫的話,那么我們可以直接使用jQuery來做一些工作,同時,可以使用$()方法作為其它庫的快捷方式。這里無需調(diào)用jQuery.noConflict()函數(shù),請看下面代碼
復(fù)制代碼 代碼如下:
<script type="text/Javascript" src="../jQuery/jquery-1.3.2-vsdoc2.js"></script>
<script type="text/Javascript" src="../JS/JsCOM.js"></script>
jQuery().ready(function() { //無需調(diào)用jQuery.noConflict()函數(shù)
var $cr = jQuery("#cr");
$cr.click(function() {
if ($cr.is(":checked")) {
alert("感謝你的支持!你可以繼續(xù)操作了..");
}
})
})
alert($("cr")); //使用的是jsCOM.js類庫中的$()函數(shù)

好了,看了上面這么多種方法來解決沖突,這下你可以放心的在您的項目中引用jQuery了吧 :)

JavaScript技術(shù)jQuery與其它庫沖突的解決方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久re热线视频国产 | 消息称老熟妇乱视频一区二区 | 亚洲天堂一区二区三区 | 99国产精品| 国产69精品久久久久乱码免费 | 女人被躁到高潮嗷嗷叫小 | GOGOGO高清在线播放韩国 | 考试考90就可以晚上和老师C | 国产精品成人观看视频免费 | 色欲国产麻豆一精品一AV一免费 | 亚洲 天堂 国产在线播放 | 久久热精品18国产 | 成人免费肉动漫无遮网站 | 无码天堂亚洲国产AV久久 | 亚洲欧美日韩国产另类电影 | 伊人久久大香线蕉avapp下载 | 国产av在在免费线观看美女 | 日本双渗透 | 妻子+免费观看完整 | 一区三区不卡高清影视 | 国内精品视频在线播放一区 | 学生小泬无遮挡女HD | 日韩黄色免费 | 成年视频国产免费观看 | 鬼灭之刃花街篇免费樱花动漫 | 一边吃奶一边添P好爽故事 一边吃奶一边啪啪真舒服 一本之道加勒比在线观看 一本之道高清在线观看一区 | 免费麻豆国产黄网站在线观看 | 亚洲第一免费播放区 | 亚洲午夜无码久久久久蜜臀av | 和尚扒开双腿蹂躏 | 伊人网综合在线观看 | 国产黄大片在线视频 | 久久精品天天中文字幕 | 好姑娘社区在线视频 | 一个人免费视频在线观看高清版 | 亚洲电影不卡 | 国产免费内射又粗又爽密桃视频 | 一个人HD在线观看免费高清视频 | 高h 大尺度纯肉 np快穿 | 国产AV国产精品国产三级在线L | 午夜伦理在线观看 |