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

时间:2013-11-09 14:53:55

标签: javascript jquery internet-explorer

为什么我的jQuery脚本只有在IE9 64Bit上运行时才会出现以下错误?整个网站适用于所有其他浏览器。这是唯一抛出此错误的浏览器。

我在1.7.2中的jQuery版本

错误是:

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;
    });

1 个答案:

答案 0 :(得分:3)

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

最简单的解决方案是重命名变量(特别是在全局变量的情况下),或者某些情况通过使用self声明它来限制var在特定函数范围内的使用。