使用EventTarget.addEventListener()时,是否可以在调用回调时获取侦听器已注册的元素?
我知道event.target属性,但这是触发事件的元素,它不必与侦听器注册的元素相同。
Here's an example我的意思。请考虑以下HTML:
<p id="1">paragraph <span>1</span></p>
<p id="2">paragraph <span>2</span></p>
以下javascript:
document.getElementById("1").addEventListener("click", myfun);
document.getElementById("2").addEventListener("click", myfun);
function myfun(ev) {
ev.target.style.backgroundColor = "yellow";
}
在这个例子中,我想为点击黄色的<p>
着色,但由于我使用的是event.target,当点击1或2时,只有彩色而不是整个段落。
答案 0 :(得分:4)
在myFun
内,this
将是您挂接侦听器的元素。这是addEventListener
如何运作的一个特征。