javascript - jQuery 错误 SCRIPT5002 : Function expected in IE9 64Bit

标签 javascript jquery internet-explorer

为什么我的 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/.

关于javascript - jQuery 错误 SCRIPT5002 : Function expected in IE9 64Bit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877322/

相关文章:

javascript - 通过 Javascript 验证限制表单字符数

javascript - 用图像替换 SVG

javascript - 如何使用 jQuery 删除 select 标签中的多个选项

internet-explorer - 试图对已标记为删除的注册表项进行非法操作 - 仅在 IE 中

html - modernizr 2.5.3 媒体查询测试中断了 IE 和 Opera 中的页面

javascript - "for"开头的分号是如何工作的?

javascript - 计算器 - 第一个计算结果显示,但第二个计算结果不显示

jQuery UI slider 范围未显示

jquery - jqGrid数据存储在浏览器缓存中?

jQuery、ajax 请求在 IE 上使用 JSON 失败