[英]JS class this with event listener
我有一個具有處理事件的函數的類。 但是當事件監聽器調用處理函數時, this
關鍵字引用被點擊的元素而不是類。 我想從處理函數中使類的其他變量/函數可見。
看看: http : //jsfiddle.net/cy7uM/1/
(使用FireBug或其他調試器查看console.log消息)
function Class(){
this.hello = "Hello World";
document.getElementById("c").addEventListener("click", this.clickHandler); //doesn't work when clicked
}
Class.prototype.clickHandler = function(){
console.log(this);
alert(this.hello);
}
var myobj = new Class();
myobj.clickHandler(); //works
嘗試
function Class(){
this.hello = "Hello World";
document.getElementById("c").addEventListener("click", this.clickHandler.bind(this));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.