获取附加事件的元素

时间:2014-05-02 18:43:48

标签: javascript

我有一个嵌套的html结构,需要在单击时以某种方式更改。为此,我需要事件绑定的元素,而不是单击的元素

例如......

theDesiredElement.addEventListener('click', 
    function() {
         ... i need 'theDesiredElement' here
    }
, false);

获取event.target获取被点击的元素,而不是事件绑定的元素。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:1)

theDesiredElement.addEventListener('click', 
    function(event) {
         ... i need 'theDesiredElement' here
         theDesiredElement=event.target;
    }
, false);

根据您所查看的内容,您可能必须获取目标的父节点;

答案 1 :(得分:0)

作为处理click事件的绑定函数传入的函数应该将event作为参数触发,使您可以获取类似事件目标的详细信息。

E.g。

var el = document.getElementById("theDesiredElement");
el.addEventListener('click', function(/*DOMEvent*/ evt) {
    ...
}, false);

挂掉evt你应该能够找到被点击的元素 - 例如。 theDesiredElement ,使用以下方式访问它:

var desired = evt.target;

请参阅以下jsfiddle:http://jsfiddle.net/BbZgW/

有关addEventListener的详细信息,请查看MDN上的EventTarget.addEventListener

答案 2 :(得分:0)

答案是在绑定到事件的函数内部使用它。它指向所需的元素。