新的$ .fn.MyObject()在IE8中触发“预期的对象”错误

时间:2013-11-08 09:29:00

标签: javascript jquery jquery-plugins internet-explorer-8

我正在尝试实例化一个jquery对象,我在IE8中有一个错误。 这是我的jQuery插件的样子

(function($){
    // var ServicesRoles = function(element, options)
    $.fn.Service = function() {

        var obj = this;

        this.list = function(url, params, ajaxParams) {...}

        ...
        }
})(jQuery);

这就是我实例化对象的方式

var service = new $.fn.Service();

它在FF和Chrome中完美运行。我还没有尝试过其他版本的IE,但在IE8中,我收到了这个错误:

  

预期对象

在我实例化对象的行上。

我的jquery版本是1.8.3

我做错了吗?

编辑:这个类的目标是进行ajax调用。它有list,get等功能,用一定的参数进行ajax调用。

决议: 问题是我的类有一个名为“delete”的方法,看起来IE8不喜欢它:/

3 个答案:

答案 0 :(得分:2)

您的function($)语法不正确。假设它应该是文档就绪处理程序,请使用:

$(function() {
     $.fn.Service = function() {
         // your code...
     }    
});

如果它应该是一个闭包,请使用:

(function ($) {
     $.fn.Service = function() {
         // your code...
     }    
})(jQuery);

答案 1 :(得分:0)

通常使用extend方法的方法是$(someDom).service。如果您想要触发此服务,可以尝试$(this).service();

答案 2 :(得分:0)

问题是IE8不允许属性在我的情况下有一些保留字,比如函数名“delete”......