【问题标题】:Prevent parent page from scrolling when mouse is over embedded iframe当鼠标悬停在嵌入式 iframe 上时,防止父页面滚动
【发布时间】:2015-05-27 15:26:19
【问题描述】:

...不限制 iframe 内的滚动或需要专门命名可滚动元素。

我有一个类似 google-map 的小部件,它可以以 iframe 嵌入代码的形式嵌入到第三方网站中。当人们在我的小部件上使用鼠标滚轮时,我只希望小部件的内容滚动而不是父页面。

我的问题与 How to prevent page scrolling when scrolling a DIV element? 类似,但我的问题是我的 ifrmae 包含多个元素,包括媒体和画布,这些元素必须一直监听鼠标滚轮事件。 TLDR 使用 e.preventDefault() 并手动更新 iframe 内应保持可滚动的所有元素的 scrollTop 属性的解决方案是不切实际的,容易出错并且依赖于非-标准 wheelDelta 属性。

Here is a JS Bin 为您提供方便。谢谢。

【问题讨论】:

    标签: css html iframe scroll mousewheel


    【解决方案1】:

    iframe 内滚动时,body 不知道那里发生了什么。但是当iframe 滚动条到达底部或顶部时,它会将滚动传递给正文。 在那里查看我的jsFiddle 和控制台日志。

    【讨论】:

    • 这是非常有趣的解决方案,谢谢,除了我说我的小部件嵌入在我对它的影响为零的第 3 方页面中,我不能要求他们添加脚本。我将探索具有 2 个嵌套 iframe 的解决方案是否可以解决此问题。
    • 如果 iframe 没有任何滚动,高度和宽度设置为页面的一部分怎么办?
    猜你喜欢
    • 2015-11-16
    • 2022-12-18
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多