我目前正在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 ......
答案 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的所有成员。