阻止<iframe> </iframe>中的所有JS事件

时间:2013-06-11 18:51:41

标签: javascript jquery

我想在我的网站中显示<iframe>,但我希望我显示的网站只能滚动。应禁用所有其他事件。

因此<iframe>的容器,<iframe>的宽度和高度为100%,就好像里面没有任何东西一样。

几乎就像是网站的可滚动屏幕截图。所以在悬停和点击内部时<iframe>不起作用。

我这样做的原因是<iframe>的容器需要可拖动,但由于<iframe>上的所有事件都在<iframe>中注册,因此无法拖动}。

我如何在javascript和/或jQuery中执行此操作?

我可以将.preventDefault()应用于滚动以外的所有内容吗?

2 个答案:

答案 0 :(得分:1)

您可以使用div覆盖opacity: 0(意味着它完全透明)。该div将拦截大多数事件,例如onclick

然后,您可以向mousedown添加div侦听器,以启动“拖动”。 iframe随后以透明div移动。

这也会禁用滚动,但也许你可以将div中的滚动事件镜像到iframe ..将会很棘手。

答案 1 :(得分:1)

在它上面设置一个清晰的div,如果你可以使用CSS,将不透明度设置为零,并在div上将z-index设置为1,在iframe上设置为-1。这样做应该使div接收mousedown事件。你也可以做document.getElementById("id").onclick=function(){}并且不会发生任何事情

相关问题