我有一个小的"浮动工具箱"-一个有position:fixed; overflow:auto个的div. 效果很好.

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

I'm using jQuery and thought I could stop this behaviour with event.stoppropagation():
$("#toolBox").scroll( function(event){ event.stoppropagation() });

它确实进入了函数,但仍然会发生传播(文档滚动)

Edit:
Working solution thanks to amustill (and Brandon Aaron for the mousewheel-plugin here:
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();
        }
    }
});

推荐答案

使用布兰登·亚伦的Mousewheel plugin是可能的.

这里有一个演示:http://jsbin.com/jivutakama/edit?html,js,output

$(function() {

  var toolbox = $('#toolbox'),
      height = toolbox.height(),
      scrollHeight = toolbox.get(0).scrollHeight;

  toolbox.bind('mousewheel', function(e, d) {
    if((this.scrollTop === (scrollHeight - height) && d < 0) || (this.scrollTop === 0 && d > 0)) {
      e.preventDefault();
    }
  });

});

Javascript相关问答推荐

构造函数作为对象键

使用javascript定位h1中每个单词的首字母

如何从圆圈中的文本中删除阴影?

Typescript - 具有无效值的类型断言不会引发错误

Material UI styled() 实用程序 - 如何递归更改突出显示的文本背景 colored颜色

AWS-Amplify,我如何在 Angular 登录后重定向到另一个 URL?

react js中的搜索过滤器

如何对齐左侧、叠加和全高侧导航菜单

Javascript合并具有相同属性的对象

像stackoverflow这样的textarea预览有

如何使用 JavaScript 对从 JSON 数据生成的 HTML Div 使用搜索/过滤器?

Sequelize ORDER BY ASC 数字字符串

TypeError: obj is not a constructor (js / node 中的错误)

overflow-anchor不适用于水平滚动

使用 JavaScript/React 过滤 API 响应

停止使用 javascript 循环音频但完成播放迭代

有没有办法在Javascript中将只有hh:mm的字符串转换为日期

使用 useState 挂钩更新对象数组

无法访问存储在 vue.js 中本地存储 [object Object] 中的 json 对象

如何在react 路由dom中将不存在的路由重定向到主页?