0

同じオブジェクト内から jQuery プラグインの関数を呼び出すにはどうすればよいですか。私は正確な推奨ソリューションhttp://docs.jquery.com/Plugins/Authoring#Plugin_Methodsを使用しています。外部コードから、次のように呼び出すことができます。

$('div').tooltip("myMethod", an_attr);

しかし、「これ」がプラグインのオブジェクトではない場合、特にフォームイベント内から同じものを呼び出すにはどうすればよいですか。

var methods = {
    var $this = $(this);
    init : function( options ) {
        $this.click(function(){
            $this.fn2("myMethod", an_attr); //is it right way?

        });
    },
    fn2 : function() {
        //but how can I call the myMethod. here ?
    },
    myMethod : function() {...
4

1 に答える 1

1

fn2呼び出すにmyMethodは、次のことができます。

...
fn2: function() {
  methods.myMethod();
}
...

myMethod他のすべてと同じコンテキストを持っていることを確認するには、次のようにします。

...
fn2: function() {
  methods.myMethod.call(this);
}
...

詳細はcall() こちら.

JS Fiddle here .

于 2012-10-16T16:21:35.650 に答える