0

私はjqueryプラグインの開発者であり、このボイラープレートjqueryboilerplateを使用しています。私のプラグインはtextareaを参照しており、そのようなキープレスイベントを呼び出しています

init: function(){
  $(this.element).keypress(function(){
    alert('hey');
  });
},

このアラートは正しく機能しているため、キープレス内では、そのようなローカルメソッドを見ることができません。

init: function(){
  $(this.element).keypress(function(){
    this.sayHey();
  });
},
sayHey:function(){
  alert('hey');
}
4

2 に答える 2

0

キー プレス コールバックでは、 の値がthisプラグイン オブジェクトを参照していません。that次のようなトリックを使用してみてください。

init: function(){
  var that = this;
  $(this.element).keypress(function(){
    that.sayHey();
  });
},
sayHey:function(){
  alert('hey');
}
于 2013-07-04T04:05:54.137 に答える