与jQuery(或其插件)的“冲突”?

时间:2012-10-11 作者:ton

我一直在使用localhost,一切看起来都很好,但当我在线上传我的Wordpress主题时,所有的jQuery插件函数都没有定义!

一个有效的解决方案(我还没有进行过很多测试,所以我仍然不知道它是否能长期工作)是从插件的主网站或github页面导入javascript文件。我真的不喜欢这种“解决方案”

另一个是解决方案here 但我也没有对此进行过很多测试。我在这里的问题是,我在另一个主题中使用了jQuery,所有内容都使用$, 但在我的新主题中,它与$ 所以我必须使用$j 相反只是我很习惯用$.

有人能解释这种奇怪的现象吗?谢谢!:)

2 个回复
最合适的回答,由SO网友:Wyck 整理而成

您可以使用$ 但建议您不要。使用jQuery 或者类似链接中的示例,如果必须使用$ 你可以这样做;

$.noConflict();
jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});
   //$ will cause problems if put here:)
要将其仅用于函数,可以在末尾附加jQuery,如:

(function($) {
    // $() will work as an alias for jQuery() 
})(jQuery);  //dont forget this part

SO网友:Sarah Lewis

这是因为WordPress以“无冲突”模式加载jQuery。

我还习惯于使用$, 有一个相当简单的解决方案。只需修改(document).ready 功能如下:

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});
有关更多信息,请查看the Codex section on this topic.

结束

相关推荐

使用WordPress循环集成jSquares和jQuery

我正在尝试将jSquares与wordpress集成,我遇到了几个问题。我是一名初学者,但我很想解决这个问题,这样任何人都可以将jSquares与Wordpress结合使用。jSquares信息可以在这里找到:boedesign。com/blog/2009/10/22/jsquares for jquery/这是我目前的代码: <div id=\"js-container\"> <? $boxes = array(