Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在iframe上捕获单击事件_Javascript_Reactjs_Events - Fatal编程技术网

Javascript 在iframe上捕获单击事件

Javascript 在iframe上捕获单击事件,javascript,reactjs,events,Javascript,Reactjs,Events,我想做一些类似的事情 <div onClick={()=>{ console.log(captured)}}> <iframe /> </div> {console.log(已捕获)}> 它不起作用。看起来iframe不允许这样做 有什么建议吗?这是完全正常的;事件在dom树中冒泡,iframe有自己的dom树,因此不会在它之外冒泡事件 您的设置看起来如何? 如果控制iframe内部的内容,则可以使用post消息API在iframe和父级之间进行

我想做一些类似的事情

<div onClick={()=>{ console.log(captured)}}>
  <iframe />
</div>
{console.log(已捕获)}>
它不起作用。看起来iframe不允许这样做


有什么建议吗?

这是完全正常的;事件在dom树中冒泡,iframe有自己的dom树,因此不会在它之外冒泡事件

您的设置看起来如何? 如果控制iframe内部的内容,则可以使用post消息API在iframe和父级之间进行通信,请选中:

如果不进行控制,则可能会在父窗口上检测到模糊事件,而不是iframe上的单击事件


希望这有帮助

无法从父页面读取iframe内容(DOM)


有一个jQuery插件叫做。这应该能解决你的问题。您可以查看GitHub页面以了解更多详细信息。

如果您有权访问并控制
iframe
,您可以创建一个
js
文件并执行类似操作,然后将其放在
iframe
和父窗口中:

(函数(){
if(window.location!=window.parent.location){
window.document.addEventListener('click',window.parent.iframe\u clicked);
}
})();
函数iframe_单击(事件){
日志(“哇,别开玩笑了!”);
}
当然,还有其他一些方法,比如通过设置服务器和
ajax
,也可以通过网络实现,它们有自己的用途


还有
postMessage
,其他人已经提到了,所以我不想解释了。

这是正常的js还是react@prasanth反应