2013-12-16 51 views
1

在過去的一週中,我有jCrop,無限滾動和jQuery UI都打破了我的錯誤消息「Uncaught TypeError:Can not call method'x'of未定義」。我已將所有錯誤追蹤到$el.hide().chain(stuff);之類的錯誤。由於某些原因,顯示和隱藏不會返回任何內容。jQuery顯示/隱藏返回undefined,中斷插件

我下載了一個未壓縮的jQuery 2.0.3文件副本,並開始放入控制檯日誌中,它變得非常奇怪。在showHide和jQuery文件中的show/hide函數中,定義了返回值。但是,看起來jQuery集合一旦離開show/hide函數就會丟失。以下是我在Chrome瀏覽器控制檯中測試它的一個示例。

console.log($("#curate [name='series']")) 
[input.ui-autocomplete-input, prevObject: jQuery.fn.jQuery.init[1], context: document,  selector: "#curate [name='series']", jquery: "2.0.3", constructor: function…] VM4093:2 
undefined 

console.log($("#curate [name='series']").show()) 
inside showHide jquery-2.0.3.js:6164 
[input.ui-autocomplete-input, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: "#curate [name='series']", jquery: "2.0.3", constructor: function…] jquery-2.0.3.js:6165 
Inside show jquery-2.0.3.js:6194 
[input.ui-autocomplete-input, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: "#curate [name='series']", jquery: "2.0.3", constructor: function…] jquery-2.0.3.js:6195 
undefined VM4094:2 
undefined 

console.log($("#curate [name='series']").show().val()) 
inside showHide jquery-2.0.3.js:6164 
[input.ui-autocomplete-input, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: "#curate [name='series']", jquery: "2.0.3", constructor: function…] jquery-2.0.3.js:6165 
Inside show jquery-2.0.3.js:6194 
[input.ui-autocomplete-input, prevObject: jQuery.fn.jQuery.init[1], context: document, selector: "#curate [name='series']", jquery: "2.0.3", constructor: function…] jquery-2.0.3.js:6195 
TypeError: Cannot call method 'val' of undefined 

這裏可能會發生什麼?這些元素在離開顯示/隱藏功能後似乎就會消失。另一個JavaScript庫會以這種方式干擾jQuery來產生這個結果嗎?你可以在這裏看到我修改後的jQuery文件,看看我不是簡單地忘記返回元素或類似的東西。 https://completeset.com/includes/js/jquery-2.0.3.js

+0

如果您使用舊版本的jQuery是否存在相同的行爲?你正在加載其他的jQuery插件嗎?如果是這樣,其中一個可能會搞亂'.show()'和'.hide()'函數。會發生什麼是使用'.css({display:'none'})'和'.css({display:''})'而不是'.show()'和'.hide()'? – Jasper

+0

我只記得不得不附加事件處理程序來顯示和隱藏使用這個代碼:http://maximeparmentier.com/2012/11/06/bind-show-hide-events-with-jquery/這可能是我的問題。 – jaimerump

回答