获取触发特定事件的元素信息的标准方法

时间:2012-03-26 14:14:59

标签: javascript firefox google-chrome javascript-events

如果HTML如下:

<a href="javascript:void(0)" id="link">Click Me</a>

我将eventHandler的{​​{1}}设为

click

在处理程序中获取ele.addEventListener('click', clickme, false); 的值的标准方法是什么。

我通过以下方式成功获取了ele的值:(工作示例 - http://jsfiddle.net/hy5Pz/4/

ele

并在Firefox中:(工作示例 - http://jsfiddle.net/hy5Pz/3/

function clickme(e){
  var ele = e.toElement;
  ele.innerText = "I got clicked"; 
}

我是javascript的新手,所以我想知道是否有一种非常标准的交叉使用方法。

2 个答案:

答案 0 :(得分:2)

我相信

var ele = e.currentTarget || e.srcElement;

适用于大多数浏览器。它首先尝试使用e.target,如果找不到,请改用e.srcElemente.target用于良好的浏览器,IE中的e.srcElement

答案 1 :(得分:1)

如果您使用的是addEventListener,则this将是该事件最初绑定的元素。 e.target将是触发事件的元素。如果您将标记更改为:

<a href="#" id="link">
  <span>Click Me</span>
</a>

e.target将是span,而不是a元素。