我不知道到底如何短语我的问题,所以让我来举一个例子:如何在初始化函数中将原型函数添加到事件侦听器?
function foo() {
window.addEventListener("keydown", function(event) {
bar(event.keycode);
}
foo.prototype.bar = function (keycode) {
//code
}
我使用尝试过,但导致使用window
为this
。有没有办法做到这一点,或者我将不得不手动调用另一个初始化方法?
为什么绑定? 'window.addEventListener(“keydown”,this.bar,false);'? – 2012-07-06 14:37:14
@SheikhHeera,这样'''在'this'的上下文中被调用,否则它将在全局范围内执行,并且不会是绑定原型函数的优势。 – zzzzBov 2012-07-06 14:38:21
@SheikhHeera无论绑定函数如何被调用,''bind''都将这个值固定为始终相同。在这种情况下,它将始终是'foo'对象。 – Esailija 2012-07-06 14:39:25