如何防止鼠标移动事件在触摸设备中作为单击工作?



我有一些jquery代码看起来像这样。

$(".bf4").each(function() {
$(this).mousemove(function(e) {
//some code
});
$(this).click(function(e) {
//different code
});
});

mousemove活动适用于笔记本电脑,click适用于手机。另外,这些事件工作正常。但是当我将它们一起使用时(如上面的代码(,mousemove事件中的代码在手机和其他触摸设备中执行,而不是click

我删除了代码的click部分,并在如下所示的触摸设备中再次对其进行了测试。

$(".bf4").each(function() {
$(this).mousemove(function(e) {
//some code
});
});

它仍然可以在触摸设备中click工作。

长话短说"鼠标移动事件的工作方式类似于触摸设备中的单击事件,而不是简单地不起作用">

我已经在火狐和铬中使用触摸模拟测试了此代码。我还直接在手机上测试了代码。到处都是相同的结果。

现在,由于我需要在手机中发生与笔记本电脑不同的事情,我需要知道为什么会发生这种情况以及如何防止它。

有什么想法吗?

将函数包装在 if 语句中,以防止它在小型设备上工作,如下所示:

if ($(window).width() > 768) {
// your mouse events here
}

最新更新