0

アドバイスをお願いします。b()`s 関数の関数内で a() 関数を呼び出そうとしています。

この a() 関数をリンクする方法がわかりません。

  d = function() {
         this.a = function() {}

         this.b = function() {
            x.hover(function() { this.a() });
         }
  }
4

1 に答える 1

3

これを行う1つの方法は次のとおりです。

d = function(){
     var self = this;

     this.a = function(){};
     this.b = function(){
        x.hover(function(){ self.a()  });
     }
}

JSthisでは、関数の呼び出し方法に応じて設定されます。匿名関数内で渡すのは、x.hover()期待したものではありません。右への参照を保持し、thisそれを使用するだけです...

さらに読む:MDNのthisページ

于 2013-01-03T00:22:16.163 に答える