JavaScript: What's 「this」 in a event handler?

,
Want to master JavaScript in a week? Buy Xah JavaScript Tutorial.

for example:

var myEle = document.getElementById("xyz");
myEle.addEventListener("click", function () { this.style.color = "red"; }, false)

the value of this in a event handler is the element that fired the event.

you shouldn't use it. A better way is to use the event target. Every event handler is passed a event object. The element that fired the event is the value of the “target” property of the event object.

For example, do this:

var myEle = document.getElementById("xyz");
myEle.addEventListener("click", function (evt) { evt.target.style.color = "red";}, false)
blog comments powered by Disqus