[英]Strange jQuery error in IE: Unexpected call to method or property access
像所有人一樣,在Firefox,Chrome,Safari和Opera中,一切都可以順利運行。 但IE ......這是另一個故事:)
這是我的完整代碼: http : //pastebin.com/ZdzzFayJ
在IE中至少有一件好事,帶着以下錯誤來找我:
SCRIPT65535: Unexpected call to method or property access.
jquery.min.js, line 3 character 29586
怎么了? 我找不到一個bug :(
UPDATE
我清理了我的代碼,javascript函數現在稱為jQuery插件。 我仍然收到錯誤,但現在我知道在哪里。
在我的代碼中,我在IE警告錯誤消息的代碼旁邊放置了IE ERROR
注釋。
插件: http : //pastebin.com/6Dnd1qtd
jQuery: http : //pastebin.com/wiHALjZx
我不知道為什么IE打破那里..任何解決方案?
此致,馬里奧
對我來說問題是:
我使用lib應用於所有環境。
my_lib.js
jQuery.ajax({
data : jQuery('form').serialize(),
url : '/'+action[1]+'/post_form',
type : 'POST',
dataType: 'json',
success: function(data){
$('#my_name_id').find('option').remove().end().append(data.select_options);
});
Json回歸:
select_options "<option></option>"
一切都好! 但是,在一種形式中,#my_name_id不是選擇,是隱藏字段,它是用戶的預選值和禁用屬性。
這就是IE8上的jquery檢索錯誤的原因。
解決方案是:
my_lib.js
jQuery.ajax({
data : jQuery('form').serialize(),
url : '/'+action[1]+'/post_form',
type : 'POST',
dataType: 'json',
success: function(data){
if( $('#my_name_id').is('select') ) {
$('#my_name_id').find('option').remove().end().append(data.select_options);
}
});
希望它能幫助別人!
在echo_data(data)
之后,您的get_data函數中似乎缺少分號。
request.done(function(data) {
if (data) echo_data(data) _loading.hide();
_ads_listing.unmask();
});
我用以下方式解決了這個問題:
"//html5shiv.googlecode.com/svn/trunk/html5.js"
包含在IE中,認識到我正在使用HTML5標簽,例如section,header,... defaultOpts.data_container.html("HTML CONTENT")
而不是使用$(defaultOpts.data_container).html("HTML CONTENT")
defaultOpts.data_container.html("HTML CONTENT")
。 所以我將參數中的對象元素$(#ID)
發送到插件而不是僅發送元素ID "#ID"
。 現在,一切正常。 謝謝大家的支持和努力。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.