3

私が作成したいメソッドの1つがセレクター引数を受け取らず、要素を渡す必要がないjQueryプラグインを作成しています。$.myMethod()組み込み$.ajax()メソッドのような呼び出しで利用できるようにしたいと思います。今まで私は次のようなことを試しました

$.fn.myMethod(options) {
     console.log("I've been called");
}

これは、試してみると機能しますが、試してみると機能し$('.a_selector').myMethod()ません$.myMethod()

これはjQueryプラグインで実行可能ですか、それとも内部関数でのみ使用できますか?

このメソッドの目的は、jQuery.dataに格納されている一部のデータに対してアクションを実行することです。jQuery.dataが要素に関連付けられていることは認識していますが、この場合、エンドユーザーが簡単に使用できるように、body要素にハードコーディングしました。

4

2 に答える 2

2

メンバーである関数は、オブジェクト自体$.fnではなく、jQueryオブジェクトに適用されます。$このようなメソッドを作成する場合は、次のように記述するだけです。

$.yourMethod = function() {
    // Do something.
};

これで、jQueryオブジェクトなしで呼び出すことができます。

$.yourMethod();
于 2012-04-23T15:02:22.767 に答える
0

そのような関数を宣言するための精巧な方法は次のようになります。

$.extend({myMethodA:function(){
                            //Do something
                            },
          myMethodB:function(){
                        //Do something else
                                }       
                 });
于 2012-04-23T15:56:18.703 に答える