chrome 监听touch类事件报错:无法被动侦听事件preventDefault

原来经常使用的一段代码,本人几乎使用touchmove的情况居多,移动端要禁止滑动操作:

document.addEventListener('touchstart', function(event) {
    event.preventDefault();
}, false);

新版chrome,给这个preventDefault返回了naive,不再是清除浏览器默认行为了。
event.cancelable 浏览器默认行为是否可以被禁用
event.defaultPrevented 浏览器默认行为是否已经被禁用

新写法:

document.addEventListener('touchstart', function(event) {
    // 判断默认行为是否可以被禁用
    if (event.cancelable) {
        // 判断默认行为是否已经被禁用
        if (!event.defaultPrevented) {
            event.preventDefault();
        }
    }
}, false);

你可能感兴趣的:(chrome 监听touch类事件报错:无法被动侦听事件preventDefault)