我有一个EventListener使网站按完整部分滚动
document.body.addEventListener(
"touchmove",
function(t) {
t.preventDefault(),
e.scrollLock ||
((e.deltaY = e.startY - t.touches[0].clientY),
(e.deltaX = e.startX - t.touches[0].clientX),
Math.abs(e.deltaY) > Math.abs(e.deltaX) &&
(e.deltaY > 3 &&
!e.isAnimating &&
e.currSection + 1 < e.sections.length &&
((e.isAnimating = !0),
e.getSection(e.currSection + 1),
e.sectionTitle.getSection(e.currSection + 1)),
e.deltaY < -3 &&
!e.isAnimating &&
e.currSection - 1 >= 0 &&
((e.isAnimating = !0),
e.getSection(e.currSection - 1),
e.sectionTitle.getSection(e.currSection - 1))));
},
{ passive: !1 }
),
我需要禁用它并使其正常滚动。
答案 0 :(得分:0)
如果您只想在某些情况下动态删除它,可以通过以下方式进行尝试:
document.body.removeEventListener(type, listener[, options])
上有不错的读物
从文档中
EventTarget.removeEventListener()方法从EventTarget中删除先前已向EventTarget.addEventListener()注册的事件侦听器。使用事件类型,事件侦听器功能本身以及可能影响匹配过程的各种可选选项的组合来标识要删除的事件侦听器;请参阅匹配事件监听器以进行删除
语法:
target.removeEventListener(type,listener [,options]);
target.removeEventListener(type,listener [,useCapture]);
其中type
是您的字符串,用于指定要为其删除事件侦听器的事件的类型,而listener
是要从事件目标中删除的事件处理程序的EventListener函数。
如果您想将其全部删除-只需将其注释掉或按照注释中的建议将其删除即可。
答案 1 :(得分:0)
此功能对我有用
$('#elementid').on('touchmove', function (e) {
e.stopPropagation();
});