如何从事件中获取原始元素?

时间:2012-05-27 04:35:32

标签: javascript events addeventlistener

我目前正在addEventListener上使用select

<select>
    <option value="Apple">Mac</option>
    <option value="Microsoft">Windows</option>
</select>

document.querySelector("select").addEventListener("change",function(ev){
    //do something here...
}, false);

但我无法弄清楚如何从event获取原始元素。

PS:我不想这样做:

<select onchange="func(event,this)">

这只会弄乱HTML ......

1 个答案:

答案 0 :(得分:2)

导致事件的元素会自动分配给事件处理程序中的this。它也在事件数据结构中传递给addEventListener()回调,在您的示例中为ev.target

document.querySelector("select").addEventListener("change",function(ev){
    //do something here...
    // you can use the value of this to access the object that 
    //    is responding to the event
    // you can also look in the event data structure for 
    //    other items like ev.target
}, false);

您可以看到事件对象here的所有成员。