我无法确定在哪里放置函数 try {jQuery.noConflict();} catch(e){}; 让我的jquery恢复正常工作。我是使用jquery代码的新手,所以我不知道从哪里开始,所以一步一步将帮助我了解实际放置代码的位置。
Firebug指出网站上的代码可能存在冲突。 “选择状态”下拉菜单不起作用,因为javascript无效。
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)
答案 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
上找到其他信息问候,
捐赠