Javascript:找出在没有附加任何eventlistener的情况下点击了哪个元素?

时间:2011-08-20 06:46:40

标签: javascript jquery

我很难找到解决此问题的方法。考虑下面的html

<body>
  <div id="parent" onclick="myFunc">
     <div id="child-a"></div>
     <div id="child-b"></div>
     <div id="child-c"></div>
     <div id="child-d"></div>
     <div id="child-e"></div>  
  </div>
</body>

事件侦听器附加到父元素。如果用户点击让我们说'child-c',有没有办法找出使用“myFunc”哪个div被点击了?在这种情况下'child-c'。使用纯JS或jQuery的任何可能的解决方案?

如果需要更多解释,请与我们联系。谢谢你的帮助。

-Nishant

3 个答案:

答案 0 :(得分:10)

是的,请使用target

function(e){
    // e.target is the clicked div
}

示例:http://jsfiddle.net/Paulpro/AfA4t/

答案 1 :(得分:4)

$("#parent").click(function(e){
   console.log(e.target);
});

演示:http://jsfiddle.net/4bC6K/

答案 2 :(得分:1)

是的,您可以检查事件的target属性,该属性将指示单击的元素。您可以阅读有关事件属性here的更多信息。