如果 html 文档被禁用。 (没有滚动...)
document.ontouchmove = function(event){ event.preventDefault(); }
我可以有选择地启用 html 文档中的元素吗?例如 div、span 我应该使用什么 JavaScript 来做到这一点?
最佳答案
这是一个相当老套的解决方案。
按如下方式更改您的 touchmove
处理程序:
document.ontouchmove = function (event) {
if (!event.elementIsEnabled) {
event.preventDefault();
}
};
然后对于您要启用的元素:
element.ontouchmove = function (event) {
event.elementIsEnabled = true;
};
这之所以有效,是因为:
- 当元素上触发
touchmove
事件时,这两个事件处理程序都会在冒泡阶段处理该事件。这意味着元素touchmove
处理程序首先触发,因为它最接近事件源。 - 当两个事件处理程序处理同一事件时,它们会接收相同的事件对象。
- 您可以在事件对象上设置自己的任意属性。
因此,元素 touchmove
处理程序只是在事件对象上设置自定义属性,然后文档 touchmove
处理程序检查该自定义属性以确定是否执行默认操作应该预防。
关于javascript - 带有 event.preventDefault 的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508540/