簡體   English   中英

放置.noConflict()以將$修復為Jquery錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM