jquery – 当绝对定位的元素(部分)偏离屏幕时,如何阻止鼠标拖动时的屏幕滚动?

我不希望我的网页滚动.我有一个< body>宽度100%,我将其溢出设置为隐藏,它通常有效.没有滚动条,没有鼠标滚轮/触摸板手势滚动.但如果我点击并拖动到任何地方,我仍然可以滚动.

臭味是我有一个绝对定位的div,所以它在其父级之外,部分(有时完全)在屏幕外.由于一些原因,我现在无法解决这个问题.

这个小提琴说明了我的问题(我在webkit中看到它),http://jsfiddle.net/ax5x7/2/

在HTML中向右拖动几乎任何地方都会导致页面滑动.回去是因为没有滚动条很棘手,所以如果你错误地这样做,那看起来很糟糕.

在这里找到一个与jQuery弃用的disableSelection()相关的建议,但除非我做错了(我将它应用于body以及所有的孩子),它似乎并没有阻止这种行为.我还发现了一个几年前似乎没有令人满意的解决方案的问题.绑带是有点kludgy,我宁愿不在一个间隔滚动到(0,0).

最佳答案
这将有效,并且不会禁用文本选择:

$(document).on('scroll',function() {
  $(document).scrollLeft(0);
});

你可以添加$(document).scrollTop(0);如果要禁用向下滚动.

这是一个jsFiddle

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些