Javascript Touchmove事件不存在';我不能在有条件的情况下被取消
我将移动导航设置为仅允许在视口中点击(我使用的是非画布)。当下面的第一个代码段在没有条件代码的情况下执行时,“touchmove”事件将通过使用preventDefault()来停止,但当我添加any条件时,我无法使其工作。我之所以说any,是因为除了尝试第一个片段(原始片段)之外,我还做了一些测试,假设问题可能是事件委派,因为最初使用的类不在我的HTML中,但只会在稍后触发另一个事件时添加。该测试是一个简单的条件测试,当然返回“true”(同一导航元素中的“my background color”属性),但它仍然不起作用。想法Javascript Touchmove事件不存在';我不能在有条件的情况下被取消,javascript,jquery,Javascript,Jquery,我将移动导航设置为仅允许在视口中点击(我使用的是非画布)。当下面的第一个代码段在没有条件代码的情况下执行时,“touchmove”事件将通过使用preventDefault()来停止,但当我添加any条件时,我无法使其工作。我之所以说any,是因为除了尝试第一个片段(原始片段)之外,我还做了一些测试,假设问题可能是事件委派,因为最初使用的类不在我的HTML中,但只会在稍后触发另一个事件时添加。该测试是一个简单的条件测试,当然返回“true”(同一导航元素中的“my background colo
if ($('body').hasClass('active-nav')) {
document.body.addEventListener("touchmove", function(event){
event.preventDefault();
});
}
测试
var backColor = document.getElementsByTagName('nav')[0].style.backgroundColor;
if (backColor == 'transparent') {
document.body.addEventListener("touchmove", function(event){
event.preventDefault();
});
}
这样做更好:
document.body.addEventListener("touchmove", function(event){
if ($('body').hasClass('active-nav')) {
event.preventDefault();
}
});