我不确定如何准确表达我的问题,所以让我举个例子:
function foo() {
window.addEventListener("keydown", function(event) {
bar(event.keycode);
}
foo.prototype.bar = function (keycode) {
//code
}
我试过使用 this.bar()
,但结果是将 window
用作 this
。有没有办法做到这一点,还是我必须手动调用另一个初始化方法?
最佳答案
在传递之前将 this.bar
绑定(bind)到 this
。
function foo() {
window.addEventListener("keydown", this.bar.bind(this), false);
}
foo.prototype.bar = function (event) {
console.log(event.keyCode);
}
关于javascript - 如何将原型(prototype)函数添加到初始化函数中的事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11364163/