Javascript e允许在触摸设备中具有无法滚动的滚动条;当滚动条宽度为“无”时,这是很实用的。这似乎也会杀死touchstart事件,因此,如果您想识别触摸事件但不允许滚动,这将不起作用。@Badrush--您确定吗?我在自己的“可拖动”组件上使用它,而且touchsta

Javascript e允许在触摸设备中具有无法滚动的滚动条;当滚动条宽度为“无”时,这是很实用的。这似乎也会杀死touchstart事件,因此,如果您想识别触摸事件但不允许滚动,这将不起作用。@Badrush--您确定吗?我在自己的“可拖动”组件上使用它,而且touchsta,javascript,jquery-mobile,touch,Javascript,Jquery Mobile,Touch,e允许在触摸设备中具有无法滚动的滚动条;当滚动条宽度为“无”时,这是很实用的。这似乎也会杀死touchstart事件,因此,如果您想识别触摸事件但不允许滚动,这将不起作用。@Badrush--您确定吗?我在自己的“可拖动”组件上使用它,而且touchstart启动得很好。非常适合画布元素(只需将style=“touch action:none”放在html中即可)。还有什么比这更简单的呢!此页面中的其他解决方案对我来说失败。谢谢天哪,我爱你就是因为这个:)这个太棒了!我发现这满足了我的需要(“.


e允许在触摸设备中具有无法滚动的滚动条;当
滚动条宽度
为“无”时,这是很实用的。这似乎也会杀死
touchstart
事件,因此,如果您想识别触摸事件但不允许滚动,这将不起作用。@Badrush--您确定吗?我在自己的“可拖动”组件上使用它,而且
touchstart
启动得很好。非常适合画布元素(只需将style=“touch action:none”放在html中即可)。还有什么比这更简单的呢!此页面中的其他解决方案对我来说失败。谢谢天哪,我爱你就是因为这个:)这个太棒了!我发现这满足了我的需要(“.carousel”).on('touchstart',函数(e){e.preventDefault();})防止在我的旋转木马上上上下滚动:)Chrome现在忽略触摸事件的event.preventDefault(),所以这不起作用。请看:谢谢@neff,我在我的回答中添加了一条注释,指出并参考了JohnWeisz的答案,这似乎是推荐的方法。很高兴知道我的方法至少持续了几年。这对我在iPad(iOS 13)上很有效,我一次只想要一件可以移动的东西。e、 预防默认值();似乎并不能阻止srceen移动。
document.addEventListener('touchstart', function(e) {e.preventDefault()}, false);
document.addEventListener('touchmove', function(e) {e.preventDefault()}, false);
document.addEventListener('ontouchstart', function(e) {
    document.body.style.overflow = "hidden";
}, false);

document.addEventListener('ontouchmove', function(e) {
    document.body.style.overflow = "auto";
}, false);
window.blockMenuHeaderScroll = false;
$(window).on('touchstart', function(e)
{
    if ($(e.target).closest('#mobileMenuHeader').length == 1)
    {
        blockMenuHeaderScroll = true;
    }
});
$(window).on('touchend', function()
{
    blockMenuHeaderScroll = false;
});
$(window).on('touchmove', function(e)
{
    if (blockMenuHeaderScroll)
    {
        e.preventDefault();
    }
});
.lock-screen {
    height: 100%;
    overflow: hidden;
    width: 100%;
    position: fixed;
}
touch-action: none;