共计 1330 个字符,预计需要花费 4 分钟才能阅读完成。
在 JS 中,当使用 JQuery 开发引入时,可能还会用到其他库,比如 Prototype、MooTools 等,这时对 $ 符的争夺,将造成程序混乱,可能通过以下几种方式进行解决:
一、JQuery 库在其他库之前导入
将 JQueryy 库在其他库之前导入,并用 JQuery 代替 $ 解释符,即将 $(回调) 用 JQuery(回调) 代替。如下示例
prototype
JQuery 将被绑定在 click 事件上
jQuery(function(){// 在这里直接使用 JQuery 代替 $ 符
jQuery(“p”).click(function(){
alert(jQuery(this).html());
})
})
$(“prototypepp”).style.display=”none”;// 因 JQuery 已将 $ 符让出,故在此可使用 prototype 库了
二、JQuery 库在其他库之后导入
JQuery 在其他库之后导入,可以使用 JQuery.noConflick() 方法将变量 $ 的控制权让出去,然后再通过以下两种解决办法使用 JQuery 库。
(一) 将 JQuery() 函数作为 JQuery 对象的制造工厂
prototype
JQuery 将被绑定在 click 事件上
jQuery.noConflict();// 将变量 & 符的控制权交出去
jQuery(function(){// 在这里直接使用 JQuery 代替 $ 符
jQuery(“p”).click(function(){
alert(jQuery(this).html());
})
})
$(“prototypepp”).style.display=”none”;// 因 JQuery 已将 $ 符让出,故在此可使用 prototype 库了
(二) 自定一个快捷方式 (如 $j、$m 等)
prototype
JQuery 将被绑定在 click 事件上
var $m=jQuery.noConflict();// 将变量 & 符的控制权交出去,然后自定义一个 $m 来代替
$m(function(){// 在这里直接使用 JQuery 代替 $ 符
$m(“p”).click(function(){
alert($m(this).html());
})
})
$(“prototypepp”).style.display=”none”;// 因 JQuery 已将 $ 符让出,故在此可使用 prototype 库了
原文地址: JS 中 JQuery 与其他库冲突问题的解决办法