0

我正在尝试实例化一个 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 调用。它具有列表、获取等功能,可以使用某些参数进行 ajax 调用。

已解决:问题是我的班级有一个名为“delete”的方法,而且 IE8 似乎不喜欢它:/

4

3 回答 3

2

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

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

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

(function ($) {
     $.fn.Service = function() {
         // your code...
     }    
})(jQuery);
于 2013-11-08T09:35:07.383 回答
0

问题是 IE8 不允许属性有一些保留字,比如在我的例子中的函数名“删除”......

于 2013-11-08T11:31:09.473 回答
0

通常使用扩展方法的方法是$(someDom).service。你想触发这个服务,你可以试试$(this).service();

于 2013-11-08T09:35:29.027 回答