[英]Placing .noConflict() to fix $ to Jquery error
我在弄清楚將函數try {jQuery.noConflict();} catch(e){};放在哪里時遇到了麻煩 使我的jquery恢復正常工作。我也是使用jquery代碼的新手,所以我不知道從哪里開始,所以逐步可以幫助我理解將代碼實際放置在哪里。
Firebug指出網站上可能存在沖突的代碼。 由於javascript無效,“選擇狀態”下拉菜單不起作用。
堆疊式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)
通過使用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.noConflict();
作為最后一行
請注意 ,當您使用noConflict()
之后必須使用jQuery
前綴而不是美元符號聲明任何jQuery語句。
可以在jQuery API或此其他StackOverflow答案上找到更多信息。
問候,
格蘭特
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.