私は次の機能を持っています:
onDocumentKeyUp: function (e) {
if (e.keyCode === 27) {
this.deactivate();
}
}
私はこれを次のようにバインドしたかった:
$(document).on('keyup', onDocumentKeyUp);
しかし、私がそうすると、関数this
内はドキュメントを参照します。onDocumentKeyUp
私はこれを解決しました:
var self = this;
$(document).on('keyup', function(e) { self.onDocumentKeyUp(e); });
これは機能しますが、これを実現するためのよりクリーンな方法があることを教えてくれます。.call()
またはどういうわけか...apply()
ここに適用しますか?これらの機能が正確にどのように機能するかはまだわかりません。
また、必ずしも に限定する必要はありませんjQuery.on()
。これを行う「バニラ」の方法がある場合は、ゲストになって教えてください。