放置.noConflict()来修复$ to Jquery错误

时间:2013-09-16 17:41:30

标签: javascript jquery html typeerror

我无法确定在哪里放置函数 try {jQuery.noConflict();} catch(e){}; 让我的jquery恢复正常工作。我是使用jquery代码的新手,所以我不知道从哪里开始,所以一步一步将帮助我了解实际放置代码的位置。

Firebug指出网站上的代码可能存在冲突。 “选择状态”下拉菜单不起作用,因为javascript无效。

SUBJECT SITE

enter image description here Stacked Jquery:

e()chosen...=0.9.11 (line 9)
e()chosen...=0.9.11 (line 9)
e()chosen...=0.9.11 (line 9)
e(e=select#billing_state.state_select, t=undefined)chosen...=0.9.11 (line 9)
(?)()chosen...=2.0.14 (line 9)
e(r=0)chosen...=0.9.11 (line 9)
a(e=Object[select#billing_state.state_select, select#shipping_state.state_select],   n=function(), r=undefined)jquery.min.js (line 2)

a(e=function(), t=undefined)jquery.min.js (line 2)
e(n=undefined)chosen...=0.9.11 (line 9)
(?)(e=function())chosen...=2.0.14 (line 1)
a(t=[Document /products-page/checkout/, [function()]])jquery.min.js (line 2)
a(e=Document /products-page/checkout/, t=[Document /products-page/checkout/, [function()]])jquery.min.js (line 2)

a(e=undefined)jquery.min.js (line 2)
a()jquery.min.js (line 2)

1 个答案:

答案 0 :(得分:1)

通过使用jQuery,您将(默认情况下)使用美元符号来声明jQuery语句,例如: $('#id').val();。 但是jQuery并不是唯一能够做到这一点的JavaScript库。

通过说你试图让你的“ jquery恢复正常工作”我假设你直到最近才成功使用它。这可能是因为添加了一个新的JavaScript库,该库也为其语句使用了美元符号。 为了防止这种情况,您使用noConflict()方法是正确的,但它不需要try...catch块。

noConflict()方法可以添加几个地方:

1)声明/使用jQuery库之后:

<script src="jquery.js"></script>

<script>
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

2)您可以将jQuery.noConflict();添加为最后一行,将其放在jQuery库的最末端

注意当你使用noConflict()后,任何jQuery语句都必须使用jQuery前缀而不是美元符号来声明。

可在jQuery API或此Other StackOverflow Answer

上找到其他信息

问候,

捐赠