JS: What's the Value of “this” in Event Handler?
for example:
const 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:
const myEle = document.getElementById("xyz"); myEle.addEventListener ("click", ((evt) => { evt.target.style.color = "red";}) , false)
See also: this Binding