繁体   English   中英

禁用iframe中的滚动

[英]Disable scroll in a iframe

我有带有iframe的html页面,当我将鼠标放在iframe上并使用鼠标滚动按钮时,它将滚动iframe页面,但我不希望这种情况发生。 但是我不希望在此iframe中完全禁用滚动条,因为我有怪诞的表情,并且一定要迷糊才能放大滚动条

我该怎么办?

我尝试做scrollTo(0, 0); 但它是在实际页面上而不是在iframe上执行的。

尝试使用scrolling =“ no”选项,如下所示

<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>

您可以尝试使用mousewheel事件来取消滚动。

示例代码:

window.onload=function(){
    setTimeout(function(){ //just to be sure that the document exists
        document.onmousewheel=function(event){
            event.preventDefault();

            //add here your code to zoom

        };
    },300);
};

请注意,IE8将始终“内部”使用event.preventDefault(); 如果您要使用标记来启用/禁用滚动,则滚动将不起作用。

您可以在此处阅读更多信息: http : //www.quirksmode.org/dom/events/scroll.html


这是我的旧解决方案:

这个问题不够具体,但是我想我理解了。

这是一段jQuery,用于修复我的理解:

(function($){
    $(function(){
        $(window).click(function(event){
            if(event.which==3) //middle button
            {
                event.preventDefault();
                //remaining code for the zoom(?)
            }
        });
    });
})(jQuery);

这应该禁用使用滚轮滚动页面(触摸时不起作用)。

您可以在if块中包含zooming(?)的代码。

包括iframe 的代码!

假设:“我想禁用页面的滚动而不放弃滚动(在iframe

首先,此CSS将关闭页面上的滚动条...

<style type="text/css">
  html, body {
    overflow: hidden;
  }
</style>

...,这将在任何尝试的时间都禁止滚动...

$(window).scroll(function() {
    scroll(0,0);
});

...虽然这可能是一个更好的选择...

document.body.scroll = "no";
document.body.style.overflow = 'hidden';
document.height = window.innerHeight;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM