为什么我的 jQuery 脚本只有在 IE9 64 位上运行时才会出现以下错误?整个网站在所有其他浏览器中运行良好。这是唯一抛出此错误的浏览器。
我的 jQuery 版本为 1.7.2
错误是:
SCRIPT5002: Function expected
jq.js, line 430 character 6
这是第 430 行字符 6
$('#'+type).insertAfter(self.parent()).show();
+type
实际上是'success'
success
是一个隐藏并存储在页面末尾的 div,并移动到父级。
<div id="success">Your message was sent</div>
我的代码
$('.msg').click(function() {
self = $(this);
var type = $(this).data('type');
if(type) {
// ajax call
$.ajax({
type:"GET",
url:"/msgr/",
data:data,
dataType: 'json',
beforeSend:function(html){
},
success: function(callBack){
$('#'+type).insertAfter(self.parent()).show();
}
},
error: function(page_data){
},
});
}
return false;
});
最佳答案
self
是window
对象的属性,在某些版本的IE中是只读的。
最简单的解决方案是重命名变量(特别是在全局变量的情况下),或者在某些情况下通过使用 var< 声明它来限制在特定函数范围内使用
.self
/
关于javascript - jQuery 错误 SCRIPT5002 : Function expected in IE9 64Bit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877322/