我有一个使用 iframe 嵌套在(父)框架中的文档(子)。
我需要使用父级的[elementFromPoint()][1]
检索一个带有鼠标的 DOM 元素。
脚本在最新的Chrome和Firefox上运行良好,但在IE 11上,它总是返回null
。
我需要知道使用 IE 可能出现的问题是什么以及可能的解决方案或解决方法。
注意:即使文档位于同一域中,脚本在IE上也不起作用。
在这里,请单击橙色框:http://jsbin.com/masusekude/1/
document.getElementById('main').addEventListener('click', function (e) {
var elm = document.getElementById('iframe').contentDocument.elementFromPoint(e.pageX, e.pageY);
alert(elm);
}.bind(this));
我发现了我的情况出了什么问题,也许你也检查一下你的。就我而言,我有一个div 元素隐藏了 iframe 内容并捕获了鼠标移动。
我可以看到的是,在IE中,如果你有一个HTML元素在iframe内容的前面,在这种情况下,调用'iframe.contentWindow.elementFromPoint(x, y)'将返回null。
我的问题的解决方法是隐藏该div,只是为了调用elementFromPoint并在此之后再次显示它。