[英]Standard way of getting information about element that triggered a particular event
如果HTML是這樣的:
<a href="javascript:void(0)" id="link">Click Me</a>
然后將eventHandler
設置為click
ele.addEventListener('click', clickme, false);
在處理程序中獲取ele
的值的標准方法是什么。
我通過以下方式成功獲得chrome中ele
的值:(工作示例ele
: //jsfiddle.net/hy5Pz/4/ )
function clickme(e){
var ele = e.toElement;
ele.innerText = "I got clicked";
}
並在Firefox中通過:(工作示例-http : //jsfiddle.net/hy5Pz/3/ )
function clickme(e){
var ele = e.rangeParent;
ele.data="I got clicked";
}
我是javascript新手,所以我想知道是否有相當標准的跨用戶代理方法。
我相信
var ele = e.currentTarget || e.srcElement;
適用於大多數瀏覽器。 基本上,它首先嘗試使用e.target
,如果找不到,請使用e.srcElement
。 e.target
用於良好的瀏覽器, e.srcElement
IE中的e.srcElement
。
如果您使用的是addEventListener
,則this
將是事件最初綁定的元素。 e.target
將是觸發事件的元素。 如果您將標記更改為:
<a href="#" id="link">
<span>Click Me</span>
</a>
e.target
將是span
,而不是a
元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.