簡體   English   中英

獲取有關觸發特定事件的元素的信息的標准方式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM