我有一个嵌套的html结构,需要在单击时以某种方式更改。为此,我需要事件绑定的元素,而不是单击的元素
例如......
theDesiredElement.addEventListener('click',
function() {
... i need 'theDesiredElement' here
}
, false);
获取event.target获取被点击的元素,而不是事件绑定的元素。有没有办法做到这一点?
答案 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)
答案是在绑定到事件的函数内部使用它。它指向所需的元素。