-1

同じオブジェクト内で構成されたjqueryボタンクリックからパブリックメソッドを呼び出す方法はありますか?? 以下に、私が試した複数の方法を示します

var myClass = new MyClass();

function MyClass() {
   this.func1 = function () {
      alert("Hello World");
   }

   var me = this;    
   $("#my-button").click(function(){
      //func1(); //dont work (wold like)
      //this.func1(); //dont work (would like)
      me.func1();   //Work! but is not correct way to do it
      myClass.func1(); //Work! but the idea its that recognize itself widthout call public   instance
  });
}

他の方法は??

4

3 に答える 3

2

me.func1() は実際には正しい方法ですが、「me」ではなく「self」という名前にするのが慣例だと思います。

于 2012-05-24T16:22:14.727 に答える
1

これを試してください:

var myClass = new MyClass();

function MyClass() {
   var myFunc = function () {
      alert("Hello World");
   }
   this.func1 = myFunc;

   $("#my-button").click(function(){
      myFunc();  
  });
}
于 2012-05-24T16:21:17.803 に答える
0

thisクリック ハンドラー内では が参照されるため、my-button動作しthis.func1()ません。func1()クリック ハンドラーが最終的にトリガーされると、別のコンテキストになりfunc1()、そのコンテキストでは意味がないため、機能しません。あなたの解決策は良いです。

于 2012-05-24T16:25:50.190 に答える