繁体   English   中英

如何使event.path识别锚标记中的元素?

[英]How to make event.path recognize elements inside an anchor tag?

为了说明我的问题,这是我的HTML版本:

<body>
  <a href="google.com">
    <div>
      <h2>Hello</h2>
      <h4>Venus</h4>
    </div>
  </a>
</body>

然后,我对Javascript的正文使用“ onclick”:

document.body.onclick = function(event) {
  console.log(event.path)
}

当我单击“ h2”标签时,控制台将仅记录[window,html,body,a],而不记录“ a”标签内的元素。

我想要的结果是当我单击“ h2”标签时,event.path将返回[window,html,body,a,div,h2]的数组

'p'标签也存在此问题。

有没有办法让'event.path'在'a'标签内包含元素? 非常感谢你。

也许这对您有帮助

 function handleClicks(e) { var path = []; var node = e.target; while(node != document) { !e.target.contains(node.parentNode) && path.push(node.nodeName); // if you want to exclude the elements inside the clicked element node = node.parentNode; } console.log(path); } document.body.addEventListener('click', handleClicks); 
 <body> <a href="#" id="not"> <div> <h2>Hello</h2> <h4>Venus</h4> </div> </a> </body> 

编辑

请避免在锚标记中使用“ div”,而可以将“ span”与某些需要的已定义用户类一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM