jQuery 错误 SCRIPT5002:IE9 64 位中预期的函数

jQuery error SCRIPT5002: Function expected in IE9 64Bit

本文关键字:函数 错误 SCRIPT5002 IE9 jQuery      更新时间:2023-09-26

为什么我的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;
    });

selfwindow对象的属性,在某些版本的IE中是只读的。

最简单的解决方案是重命名变量(尤其是在全局变量的情况下),或者在某些情况下通过使用 var 声明来限制在特定函数作用域中使用 self