Javascript 如何取消正在进行的触摸拖动(滚动)事件?

Javascript 如何取消正在进行的触摸拖动(滚动)事件?,javascript,ios,safari,Javascript,Ios,Safari,如何在移动设备(特别是iOS Safari)上取消正在进行的(启动后)触摸和拖动(即滚动) 我试过: window.addEventListener('touchmove', function (e) { if (disableScrolling) { e.preventDefault(); e.stopPropagation(); } }); 这是行不通的 唯一有效的解决方案是: window.addEventListener('touchmo

如何在移动设备(特别是iOS Safari)上取消正在进行的(启动后)触摸和拖动(即滚动)

我试过:

window.addEventListener('touchmove', function (e) {
    if (disableScrolling) {
        e.preventDefault();
        e.stopPropagation();
    }
});
这是行不通的

唯一有效的解决方案是:

window.addEventListener('touchmove', function (e) {
    if (disableScrolling) {
        window.scrollTo(0, lastKnownScrollTopBeforeDisablingScrolling);
    }
});
然而,它产生了一个故障的经验

disableScrolling
变量在用户滚动时设置为true(响应于在页面上输入特定区域)