$(‘body’).on(‘touchmove’, function (event) {event.preventDefault();}); or document.addEventListener('touchmove', function(e){e.preventDefault()}, false);
addEventListener第三个参数默认为false,在冒泡阶段触发事件。按先捕获再冒泡来看,为何在冒泡阶段阻止滑动的默认行为,会影响到body的内部子元素的滚动。
闭关修行中......
新答案:根据你的回复我试验了一下,发现在谷歌浏览器是不可以的,但是火狐可以。原因在于谷歌浏览器当你触发touchmove事件时产生了警告。
Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/...
这条警告应该是影响了页面的正常运行。
问题描述的不太清楚,什么叫子元素的滚动?子元素不会滚动的吧,滚动是window的scroll。
新答案:
根据你的回复我试验了一下,发现在谷歌浏览器是不可以的,但是火狐可以。原因在于谷歌浏览器当你触发touchmove事件时产生了警告。
这条警告应该是影响了页面的正常运行。