Javascript 在iframe中禁用滚动
我有一个带有iframe的html页面,当我把鼠标放在iframe上,使用鼠标滚动按钮时,它会滚动iframe页面,我不希望发生这种情况。但我不想在这个iframe中完全禁用卷轴,因为我有一幅壁画,我必须用abble来放大卷轴 我怎么办 我试着做Javascript 在iframe中禁用滚动,javascript,html,events,Javascript,Html,Events,我有一个带有iframe的html页面,当我把鼠标放在iframe上,使用鼠标滚动按钮时,它会滚动iframe页面,我不希望发生这种情况。但我不想在这个iframe中完全禁用卷轴,因为我有一幅壁画,我必须用abble来放大卷轴 我怎么办 我试着做scrollTo(0,0)但它在真实页面上执行,而不是在iframe上执行。尝试使用滚动=“否”选项,如中所示 <iframe scrolling="no" src="http://www.google.com" width="400px" hei
scrollTo(0,0)代码>但它在真实页面上执行,而不是在iframe上执行。尝试使用滚动=“否”选项,如中所示
<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>
假设:“我想禁用页面的滚动,而不取消滚动的标签(在iframe
中)”
首先,这个CSS将关闭页面上的滚动条
<style type="text/css">
html, body {
overflow: hidden;
}
</style>
。。。虽然,这可能是一个更好的选择
document.body.scroll = "no";
document.body.style.overflow = 'hidden';
document.height = window.innerHeight;
您可以尝试使用鼠标滚轮
事件取消滚动
示例代码:
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()如果要使用标志启用/禁用滚动,则代码>和滚动将不起作用
您可以在此处阅读更多信息:
这是我以前的解决方案:
这个问题不够具体,但我想我明白了
下面是一段jQuery,用于修复我所理解的问题:
(function($){
$(function(){
$(window).click(function(event){
if(event.which==3) //middle button
{
event.preventDefault();
//remaining code for the zoom(?)
}
});
});
})(jQuery);
这将禁用使用滚轮滚动页面(触摸不起作用)
您可以在if
块中包含缩放代码(?)
将此代码包含在iframe中 “我想在不取消滚动的情况下禁用页面滚动。”-沃特?我希望当人们使用滚动按钮时,它不会滚动iframe页面。但是如果没有禁用滚动,因为我需要滚动按钮在湿壁画上进行缩放,我不能,滚动将被禁用,我需要它。对不起,我不明白你当时想实现什么。你能提供更多的信息吗?我有一个带iframe的html页面,当我把鼠标放在iframe上,使用鼠标滚动按钮时,它会滚动iframe页面,我不希望发生这种情况。但是我不希望在这个iframe中完全禁用滚动,因为我有一个fresque,我必须使用abble来放大滚动,所以你希望iframe不获取滚动的焦点并将事件传递到它的容器?您可以通过在iframe上捕获鼠标滚轮事件并将其传递到包含该事件的文档来实现这一点。谢谢。我不能使用jQuery,但它应该是ok@leykan“那就让我帮你修一下吧。”莱肯:我在回答中发现了一个问题。你应该去掉这个标记。我会设法解决的
(function($){
$(function(){
$(window).click(function(event){
if(event.which==3) //middle button
{
event.preventDefault();
//remaining code for the zoom(?)
}
});
});
})(jQuery);