为什么原型和jQuery之间仍然存在冲突?

4

我已经了解了如何同时加载prototype和jquery,但这些技术并没有解决问题。

我先加载jquery,然后是这个文件(http://music.glumbo.com/izzyFeedback.js),最后是prototype。

我已经在izzyFeedback.js中使用$的部分进行了包装。

(function($) {  

})(jQuery);

但这种方法无效。如果我注释掉原型加载部分,那么它就能正常工作。

你需要花一些功夫来问问题。你只是链接到一堆代码并说“它不起作用”。你甚至没有解释这段代码的预期功能或如何测试它是否无效。 - Álvaro González
3个回答

2
你是否在 (function($) { })(jQuery) 之前加入了 jQuery.noConflict();
文档中还有其他技巧,请参见http://api.jquery.com/jQuery.noConflict/ 我以前成功地使用过 var j = jQuery.noConflict(); 并将所有的 $jQuery 替换为 j

我之前尝试添加jQuery.noConflict(),但没有起作用。 - Matthew Hui

1

你需要使用jQuery.noConflict()$恢复到最初的状态。

然后,你需要使用jQuery代替$来调用jQuery函数,或者使用你分配给jQuery.noConflict()的变量名。


我使用了(function($){})(jQuery);,那么在此块内部是否仍然需要使用jQuery而不是$? - Matthew Hui
那正是我已经做过的。但仍然存在冲突。 - Matthew Hui
@glumbo 你调用了 jQuery.noConflict() 吗? - alex

0

JavaScript 错误控制台显示如下:

Uncaught exception: TypeError: Cannot convert 'a' to object

Error thrown at line 1, column 62584 in initWidgetOnSuccess(a) in http://w.sharethis.com/share4x/js/st.8420922a8df40577276f021cf40c4bea.js:
    widget.metaInfo=a.data;
called from line 1, column 0 in http://wd.sharethis.com/api/getApi.php?return=json&url=http%3A%2F%2Fmusic.glumbo.com%2F&fpc=b3bd5f6-12f4973f8f5-23e02178-1&cb=initWidgetOnSuccess&service=initWidget:
    initWidgetOnSuccess();

您试图检索 a.data 属性,但 a 不是一个对象。该错误似乎是由于 getApi.php 未返回有效的 JSON 字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接