我可以使用$以外的东西来防止jQuery插件之间的冲突吗

Can I use something other than $ to prevent conflict between jQuery plugins?

本文关键字:jQuery 插件 冲突 之间 可以使 我可以      更新时间:2023-09-26

我有两个插件,它们都使用自己的.swipe()函数:ex: $("div").swipe();

有可能给其中一个插件一个不同的变量而不是$吗?

例如,我可以为插件A使用jQ("div").swipe();,为插件B使用$("div").swipe();吗?

是的,但是最好重命名插件。

<script src="jquery.swipe.js"></script>
<script>
    $.fn.swipeOne = $.fn.swipe;
</script>
<script src="jQuery.swipeTwo.js"></script>
<script>
$(document).ready(function(){
    $("#swipeone").swipeOne();
    $("#swipetwo").swipe();
});
</script>

否则,您将不得不包含两次jQuery。

是的,您需要noConflict选项。

http://api.jquery.com/jQuery.noConflict/

如何使用它的更好例子:

http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/

如果两个jQuery插件都需要绑定到同一个jQuery对象,请进入其中一个插件,然后查找$.fn.swipe。将单词"滑动"更改为您喜欢的任何内容(例如$.fn.mySwipe),请记住其对单词"滑动"的内部引用可能也需要更改。

您可以使用更改$

var $j = jQuery.noConflict();

现在你使用$j,而不是以前使用$,例如

$j(document).ready(function() {
    //stuff
}

您可以使用

jq(function) {
})

然后只参考jq