相关疑难解决方法(0)

当内部元素滚动位置到达顶部/底部时,防止滚动父元素?

我有一个小"浮动工具箱" - 一个div与position:fixed; overflow:auto.工作得很好.

但是当在该框内滚动(使用鼠标滚轮)并到达底部或顶部时,父元素"接管""滚动请求":工具框后面的文档滚动.
- 哪个很烦人而不是用户"要求".

我正在使用jQuery并认为我可以使用event.stoppropagation()来阻止此行为:
$("#toolBox").scroll( function(event){ event.stoppropagation() });

它确实进入了函数,但仍然无论如何传播(文档滚动)
- 在SO(和Google)上搜索这个主题非常困难,所以我不得不问:
如何防止滚动事件的传播/冒泡?

编辑:
工作解决方案感谢amustill(以及Brandon Aaron的mousewheel-plugin:https:
//github.com/brandonaaron/jquery-mousewheel/raw/master/jquery.mousewheel.js

$(".ToolPage").bind('mousewheel', function(e, d)  
    var t = $(this);
    if (d > 0 && t.scrollTop() === 0) {
        e.preventDefault();
    }
    else {
        if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) {
            e.preventDefault();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery scroll event-bubbling event-propagation

190
推荐指数
12
解决办法
13万
查看次数

防止滚动从元素冒泡到窗口

我有一个包含一个iframe一个模式对话框窗口(弹出),
以及里面的iframe有一个DIV是滚动的.

当我滚动iframe的内部DIV,并且它已达到其上限或下限时,
浏览器本身的窗口开始滚动.这是一种不受欢迎的行为.

我尝试过这样的东西,当
onMouseEnter鼠标进入弹出框区域时会杀死主窗口滚动:

e.preventDefault()由于某种原因不能正常工作......

$("#popup").mouseenter(function(){
   $(window).bind("scroll", function(e){
        e.preventDefault();
   }); 
}).mouseleave(function(){
    $(window).unbind("scroll");
});
Run Code Online (Sandbox Code Playgroud)

更新

好像现在在2013年e.preventDefault();就够了......

html javascript jquery events scroll

55
推荐指数
3
解决办法
5万
查看次数

使用浏览器的主滚动条滚动特定的DIV内容

我的工作我的网站上的新布局和我遇到GIZMODO网站,我发现该网站可以使用页面滚动条滚动的在网站上的部分内容.他们怎么能成功呢?我通过Firebug研究了他们的CSS,但我很困惑.

这里是我的测试第1页:http://raptor.hk/dev/theme/dummy.html(此页面可以中心的内容,但我想不能滚动)

这是我的测试页面2:http://raptor.hk/dev/theme/dummy2.html(此页面可以按我想要的方式滚动,但不能居中)

我只是想让左侧内容滚动页面滚动条的页面,但右侧内容保持在原始位置,加上整个网站应该对齐中心,即结合我的测试页面1和2.任何人都可以给我一些灯光?

html css

30
推荐指数
2
解决办法
8万
查看次数

在子div中阻止父滚动

当我滚动到子项的底部时div,body元素开始滚动.

我怎么能阻止这个?我只希望body当光标在它上面时滚动.

示例:JsFiddle

css jquery scroll

8
推荐指数
2
解决办法
1万
查看次数