Javascript 捕获内部div中的滚动

Javascript 捕获内部div中的滚动,javascript,html,css,Javascript,Html,Css,我想实现的是,想象你有一个高的页面,其中有几个div。 高页本身是可滚动的,div也是如此 我想要实现的是在将div滚动到极限时防止滚动整个页面。 现在发生的情况是,当您通过剧烈滚动到达div的末尾时,您开始滚动整个页面。我想防止滚动整个页面,因为这是一个私人项目,底部的项目很少被使用 div不是动态生成的,因此我可以硬编码所有内容 如果可能的话,我真的希望避免使用jQuery,因为在这种情况下这似乎有点过分了 //编辑: 一个小例子可以在 此演示的预期行为是,当您在bacon分区内滚动时,整个

我想实现的是,想象你有一个高的页面,其中有几个div。
高页本身是可滚动的,div也是如此

我想要实现的是在将div滚动到极限时防止滚动整个页面。
现在发生的情况是,当您通过剧烈滚动到达div的末尾时,您开始滚动整个页面。我想防止滚动整个页面,因为这是一个私人项目,底部的项目很少被使用

div不是动态生成的,因此我可以硬编码所有内容

如果可能的话,我真的希望避免使用jQuery,因为在这种情况下这似乎有点过分了

//编辑: 一个小例子可以在

此演示的预期行为是,当您在bacon分区内滚动时,整个页面不会滚动。

恐怕这是一场失败的战斗,滚动事件看起来不可取消:

或者可能是一个不顾一切的黑客,想要向后滚动滚动的像素数量:

var lastPos = isNaN(window.pageYOffset) ? 
  document.documentElement.scrollTop :
  window.pageYOffset;

window.onscroll = function(ev){
  var diff = (isNaN(window.pageYOffset) ? 
    document.documentElement.scrollTop : 
    window.pageYOffset) - lastPos;
  window.scrollBy(0, -diff);
};

并且在div上使用
onmouseover
onmouseout
来防止它。你能演示一下吗?在没有演示的情况下,很难分析到底发生了什么?这是带有overflow:auto或overflow:scroll set的div的正常行为,至少对于桌面浏览器是这样。所以你显然是想做一些更复杂的事情。但是什么呢?