[英]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.