Javascript/HTML:elementFromPoint仅返回HTMLBodyElement
我想在覆盖所有内容的div下面的元素上触发一个click事件Javascript/HTML:elementFromPoint仅返回HTMLBodyElement,javascript,html,Javascript,Html,我想在覆盖所有内容的div下面的元素上触发一个click事件 <div id='container'><div> <div id='123'> <a href=''>Example link to activate</a> </div> 当您调用elementFromPoint()时,#container元素及其所有子元素都被隐藏elementFromPoint()只看到可见的节点 还请注意,Event
<div id='container'><div>
<div id='123'>
<a href=''>Example link to activate</a>
</div>
当您调用
elementFromPoint()
时,#container
元素及其所有子元素都被隐藏elementFromPoint()
只看到可见的节点
还请注意,
Event
对象的x
和y
属性在浏览器中没有很好的支持。更好地使用clientX
/clientY
谢谢你的回答,尽管我无法理解隐藏#container元素如何影响body元素的其他子元素,因为这些其他元素不是#container元素的子元素?这些其他元素仍然可见。@Dave哦,我在标记中没有看到任何结束标记(是否有输入错误?),所以我假设
是#container
的子元素。。。我以后再看一次。无论如何,现场演示重现这个问题会很有帮助。
function onDocumentClick( event ) {
container.style.visibility = 'hidden';
var ele = document.elementFromPoint(event.x, event.y);
container.style.visibility = 'visible';
alert(ele);
document.removeEventListener('click', onDocumentClick, true);
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true );
document.addEventListener('click', onDocumentClick, true)
}