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

通常、extend メソッドを使用する方法は$(someDom).service. このサービスをトリガーしたい場合は、試すことができます$(this).service();

于 2013-11-08T09:35:29.027 に答える
0

問題は、私の場合、IE8 では属性に関数名「delete」のような予約語を使用できないことでした...

于 2013-11-08T11:31:09.473 に答える