Javascript 我可以从回调中获取addEventListener()注册到的元素吗?

Javascript 我可以从回调中获取addEventListener()注册到的元素吗?,javascript,dom,javascript-events,addeventlistener,Javascript,Dom,Javascript Events,Addeventlistener,使用时,是否可以在调用回调时获取侦听器注册到的元素 我知道这个属性,但它是触发事件的元素,不必与侦听器注册的元素相同 我的意思。考虑下面的HTML: <p id="1">paragraph <span>1</span></p> <p id="2">paragraph <span>2</span></p> 在本例中,我想将单击的涂成黄色,但由于我使用的是event.target,因此当单击1或2时,只

使用时,是否可以在调用回调时获取侦听器注册到的元素

我知道这个属性,但它是触发事件的元素,不必与侦听器注册的元素相同

我的意思。考虑下面的HTML:

<p id="1">paragraph <span>1</span></p>
<p id="2">paragraph <span>2</span></p>

在本例中,我想将单击的涂成黄色,但由于我使用的是event.target,因此当单击1或2时,只会将其涂成黄色,而不是整个段落。

在myFun中,这将是连接侦听器的元素。这是addEventListener工作原理的一个特性。

在myFun中,这将是连接侦听器的元素。这是addEventListener工作原理的一个特点。

旁注:以数字开头的id值对于您在那里使用它们的方式是合适的,但是您不能在CSS选择器中使用它们,例如,1是无效的选择器。出于这个原因,我会避开以数字开头的ID…我认为您可以使用document.elementFromPointx,y;和坐标ev@T.J.Crowder,谢谢你的提示,我以后会记住这一点,我通常不使用数字id,我只是为了这个简单的例子才这么做的。旁注:以数字开头的id值对于你在那里的使用方式来说很好,但是你不能在CSS选择器中使用它们,例如,1是无效的选择器。出于这个原因,我会避开以数字开头的ID…我认为您可以使用document.elementFromPointx,y;和坐标ev@T.J.Crowder,谢谢你的提示,我以后会记住这一点,我通常不使用数字ID,我只是为了这个简单的例子。太好了,这正是我需要的!太好了,这正是我需要的!
document.getElementById("1").addEventListener("click", myfun);
document.getElementById("2").addEventListener("click", myfun);

function myfun(ev) {
    ev.target.style.backgroundColor = "yellow";
}