2012-04-23 7 views
3

私が書きたいメソッドの1つがセレクター引数を取らず、要素を渡す必要がないjQueryプラグインをオーサリングしています。私はそれがメソッドのように$.myMethod()のような呼び出しで利用できるようにしたいと思います。今まで私は$('.a_selector').myMethod()をしようとするが、私は$.myMethod()を試していない場合は、この作品要素を取らないjQueryプラグインメソッド

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

のようなものを試してみました。

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

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

答えて

2

$.fnのメンバーである関数は、jQueryオブジェクトに適用され、$オブジェクトには適用されません。あなたは、このようなメソッドを作成したい場合は、あなただけ記述する必要があります:

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

今、あなたはjQueryオブジェクトせずに、それを呼び出すことができます。このような機能を宣言する

$.yourMethod(); 
+0

これはあからさまな明白さが私を顔で殴っている...ありがとう! – wmarbut

0

手の込んだ方法が

することができ
$.extend({myMethodA:function(){ 
          //Do something 
          }, 
      myMethodB:function(){ 
         //Do something else 
           }  
       }); 
関連する問題