簡體   English   中英

JS類使用事件監聽器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM