如何使用jquery.noConflict属性

jos*_*osh 4 jquery

我正在使用预览dns在服务器上测试我的网页.刚刚意识到预览dns会自动将mootools库添加到任何php页面的末尾.可能是他们自己的统计数据或其他东西.

但问题是我在我的页面中使用jquery.所以我的jquery代码断了,因为mootools和jquery都使用'$'.

我把我页面的所有页面源都放在jsbin上:http://jsbin.com/ozime (这包括添加在mootools上).

在这个页面中,我添加了一个示例jquery代码,它应该在更改下拉框时触发.我还添加了一些警告声明.但是,只显示第一个警报声明.一个内部jquery代码没有.

我试过使用jquery没有冲突,但似乎没有用.

有人遇到过这个问题吗?

Akr*_*kos 21

我更喜欢使用自执行匿名函数来为你的jQuery代码提供自己的范围,你可以像往常一样使用$,如果你不必担心兼容性.

如果您之前没有看过它,这看起来会很奇怪.基本上,我所做的是定义一个带有参数($)的函数,然后用jQuery作为参数执行该函数.

<script>
jQuery.noConflict();

(function($) {
    //use '$' as you normally would
    $(document).ready(function() {
        //code here that depends on the document being fully loaded
    });

})(jQuery);  

</script>
Run Code Online (Sandbox Code Playgroud)


Ale*_*art 12

在包含jQuery之后,立即在脚本标记中添加以下内容.

<script> 
jQuery.noConflict();

jQuery(document).ready(function() {
alert('hi');
});
</script>
Run Code Online (Sandbox Code Playgroud)

还要将jQuery脚本放在mootools库之前.订单将是:

jQuery脚本包括

noConflict代码

mootools脚本包括