jQuery.noConflict()打破了插件

时间:2010-07-10 01:21:11

标签: jquery

我在我的rails应用程序中使用了Prototype和jQuery。要解决$冲突,请执行以下操作:

<script type="text/javascript">
    var $j = jQuery.noConflict();
</script>

这大部分工作正常,但我尝试使用不喜欢它的a plugin并抛出$ is not a function type错误。

我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:8)

尝试以下

(function ($){
    /* plugin code */
})(jQuery);

这是创建一个函数并立即执行它jQuery作为名为$的参数。含义$仅在此范围内用作jQuery。

由于插件具有使用$的内部方法,因此最好是要求修复,或者自行修改$的任何问题{/ 1}}。

答案 1 :(得分:1)

UHG。 simpleslide的一些函数使用jquery包装技术来保护其内部使用的$和其他函数没有。

只有几个顶级功能存在曝光问题(尽我所知),所以你可以自己添加保护包装和/或要求作者修复。