问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ajaxpro和jquery冲突的问题怎么解决

发布网友 发布时间:2022-04-23 00:10

我来回答

1个回答

热心网友 时间:2022-04-23 01:39

我早早就知道有冲突,但是我还是一直在双双使用。后期发现冲突的问题很严重。不建议同时使用

在jQuery库中,几乎所有的插件都被*在它的命名空间里。全局的对象都很好地存储在jQuery命名空间里,因此当把jQuery和其它javascript类库一起使用时,不会引起冲突.(注意:默认情况下,jQuery用$作为自身的缩写而以)
如果jQuery类库和别的类库冲突的话,可以使用jQuerynoConflict()函数来将变量$的控制权移交出给其它的javaScipt库。看下面小片断代码
<script type="text/javascript" src="../JS/JsCOM.js"></script>
<script type="text/javascript" src="../jQuery/jquery-1.3.2-vsdoc2.js"></script>
假设JsCOM.js库中,有这样一个函数
function $(objName) {
if (document.getElementById) {
return eval('document.getElementById("' + objName + '")')
}
else {
return eval("document.all." + objName)
}
大家都知道jQuery里面也一个这样的函数,为了不引起冲突,我们将jQuery的变量$的控制权移交出给别的javascript库
jQuery.noConflict(); //将变量$的控制权移交给JsCOM.js
var $cr = jQuery("#cr"); //照样使用jQuery类库,只是用jQuery代替了原来的$而以。
var JsCOM_cr = $("cr"); //使用JsCOM.js类库
在这里可以把jQuery()函数作为jQuery对象的制造工厂.
在这里要注意几点
1.引用javascript类库时,一定要把jQuery引用放在最后面,就像上面一样,JsCOM.js的引用在jQuery引用的前面(具体原因我也不知,不过确实需要这样)
2.特别要注意jQuery()代替$()时,jQuery是区分大小写的,因为javascript本身就是区分大小写的(好像说这个有点多余,不过还是希望大家不要犯这种错误)

基本上根据上面的方法就可以解决jQuery和其它库的冲突问题了!
如果你觉得上面的方式不爽,每次都要打jQuery来代替$增加了您敲键盘的工作量,那请接着看。。
除上面之外,还有另一种选择。如果想确保jQuery不会与其它库冲突,但又想自定义一个快捷方式,可以进行如下操作;
var $j = jQuery.noConflict(); //自定一个快捷方式
var $cr = $j("#cr"); //使用jQuery类库,得用自定义快捷方式----$j;
var JsCOM_cr = $("cr"); //和上一段代码一样,使用的是JsCOM.js类库
如果您还有别的要求,想继续使用原先的$(),同时还需要与别的类库不冲突的话,还有两种解决方法
其一:
jQuery.noConflict(); //将变量$的控制权让给JsCOM.js
jQuery(function($)
{
$("p").click(function() //在函数内继续可以使用jquery类库的$()方法
{
alert($(this).text());
})
})
var JsCOM_cr = $("cr"); // 在函数外面,照样可以使用JsCOM.js的$()方法
其二:
jQuery.noConflict(); //将变量$的控件权移交给别的类库,使用jquery类库的$符号时,请使用jQuery("#id");
(function($) { //定义匿名函数并设置形参为$
$(function() { //匿名函数内部的$均为jQuery
$("div").click(function() {//继续使用$()方法
alert($(this).text());
})
})
})
(jQuery); //使用匿名函数且传递实参jQUery
alert($("cr")); //使用的是jsCOM.js类库中的$()函数
第二种方法应该是兼容旧的代码最好的方式,修改的代码是最少的!
不过如果是新写的jQuery代码,我还是比较喜欢使用刚开始讲的那种(jQuery.noConflict(),然后就使用jQuery("#id"),这种方式)
如果您的页面是先引用jQuery类库再引入别的类库的话,那么我们可以直接使用jQuery来做一些工作,同时,可以使用$()方法作为其它库的快捷方式。这里无需调用jQuery.noConflict()函数,请看下面代码
<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() { //无需调用jQuery.noConflict()函数
var $cr = jQuery("#cr");
$cr.click(function() {
if ($cr.is(":checked")) {
alert("感谢你的支持!你可以继续操作了..");
}
})
})
alert($("cr")); //使用的是jsCOM.js类库中的$()函数

好了,看了上面这么多种方法来解决冲突,这下你可以放心的在您的项目中引用jQuery了吧 :
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自离后能补办离职证明吗? 我是家里自离的,可以补办辞职手续吗 急救!!!狗狗受凉吃什么就吐什么,该吃什么药 狗狗受凉呕吐吃什么药好得快 公告栏标题里的字如何设定字体及大小 公告栏怎移动啊 我的公告栏 如何设置 怎么让QQ拍拍公告栏文字不滚动 在滚动的公告栏中鼠标放上去时就停止,这种效果怎么做?谢谢了 王者荣耀铂金1和黄金3双排排到的是什么段位的 流量畅享包的资费标准 国寿英才少儿保险我想知道怎么返还返回多少 什么是“沃商店流量畅享包”? 电信怎么开通流量畅享包? 畅享合约流量包怎么用 沃商店流量畅享包资费介绍? 流量畅享包的适用范围(适用对象) 6.用充电宝充充电宝,能充满吗? 考研英语的阅读题源都有哪些 考研英语阅读理解练习谁的资料比较 030是什么意思? 030是哪个地方的区号 如何才能养出巨型锦鲤 030是哪个区号的 旧手机便签内容怎么导新手机呢? 4段3.5毫米的耳机插头含义 塑料水管的使用寿命是多少? 不锈钢水管与塑料管相比有什么区别? 炒菜放葱姜蒜后 要马上放调料吗?还是炒一半放? 不属于阿里巴巴旗下的电子商务平台。A淘宝,B天猫,C1688,D聚会优品答案? 有种海边的螺不能随便捡,不然会死,那是什么螺 全身有毒吐毒性的是什么动物? 全身有毒的动物是什么 颈椎上面的骨头缝缝疼是怎么回事 背部一节脊椎疼 骨头旁边的缝也疼 做过片子 大夫说骨头没事 现在一按 背部肩膀有一处也疼 请问应该怎样治 请问锥形蜗牛就是鸡心螺吗? 鸡心螺怎么吃东西视频 最简单的捕杀方式就是吐毒液 ,为什么大部分哺乳动物放弃了这个方式? 脊椎骨痛 dell电脑启动 准备自动修复 世界上有多少种毒素? 培育和践行社会主义核心价值观的要求 脊椎腰部位的骨头缝隙变大了.平时很疼.睡觉翻身都难受. 澳大利亚的十二金刚是什么谁知道 脊柱的骨头疼会是什么原因引起的 老子是癞蛤蟆番外篇之七 脊椎中部有一块骨头疼是怎么了? 老子是癞蛤蟆总共有几篇番外 我们应该树立什么样的价值观? 产妇在坐月子期间,脸色腊黄,吃哪些食物能够调理?