2010-11-15 103 views
2

我想在我的應用程序中使用jquery自動完成插件。Chrome不識別jquery插件

它運作良好,在IE和FF

Chrome的wierdly行爲,而不是調用函數。

<script type="text/javascript" src="/GIM-WebUI/jquery/jquery-latest.js">jQuery.noConflict();</script> 
<link rel="stylesheet" href="/GIM-WebUI/jquery/autocomplete-main.css" type="text/css" /> 
<script type="text/javascript" src="/GIM-WebUI/jquery/autocomplete.js"></script> 

我在自動填充功能中保留了警告對話框。 FF和IE都會彈出警報消息,但不會顯示Chrome。我在這裏做錯了什麼?

當我在某個dom元素上調用.autocomplete時,它出錯了。謝謝。

回答

6

我懷疑問題就在這裏:

<script type="text/javascript" src="/GIM-WebUI/jquery/jquery-latest.js">jQuery.noConflict();</script> 
           -^-          -^- 

一個script標籤可以要麼src屬性有代碼的內容,而不是兩個;從docs

如果存在src屬性,該元件必須是空的,或者僅script documentation也匹配script content restrictions含有。

我懷疑你可能想:

<script type="text/javascript" src="/GIM-WebUI/jquery/jquery-latest.js"></script> 
<script type="text/javascript">jQuery.noConflict();</script> 

...但只有當你真正想要的jQuery不使用$符號(例如,你總是使用jQuery符號代替)。

偏題:Chrome內置了一套很好的工具來幫助您診斷問題。按Ctrl + Shift + I查看它們(或從右上角的扳手菜單中選擇開發人員工具)。您可以在控制檯中查找錯誤,設置斷點,在調試器中遍歷代碼等等。

+0

在嘗試第一個版本之前,我嘗試了第二個版本。它不起作用。 – Chandra 2010-11-15 19:30:06

+0

事實證明,鉻在加載之前會調用函數。 – Chandra 2010-11-15 19:44:34

+0

@ user487925:有了上面的兩個'script'標籤,恭敬地說,不是。當HTML解析器運行到腳本標記中時,它會在其腳本中停止,直到該腳本被加載並執行(禁止使用「defer」或「async」屬性;請參閱上面的鏈接以獲取詳細信息)。這不是可選的,我向你保證Chrome與之兼容。 :-)只有從第一個'script'標籤執行完腳本後,它纔會繼續使用任何HTML(在本例中爲另一個腳本標籤)。當然,如果您正在討論組合版本,所有投注都將以無效標記打開。 – 2010-11-15 22:37:29