FastClick和click()事件触发故障

FastClick and click() event trigger trouble

本文关键字:故障 事件 click FastClick      更新时间:2023-09-26

当我在我的项目中包含FastClick时,我遇到了麻烦。所有工作正常,移动设备上的300ms延迟丢失,但编程触发click()事件现在在移动设备上不起作用

它在文档中这么说(好吧,你在advanced下链接的页面)

这就是needclick类的用武之地。将类添加到任何需要非合成单击的元素中。

所以添加类needsclick到你想用

手动触发"click"的元素

我有完全相同的问题,最后我摆脱了FastClick,并在触发点击事件时快速点击出现一些问题后做了我自己的简单解决方案。这个例子使用jQuery。

$(document).on('touchstart', '.clickable', function(e){
    // This prevents the click to be completed
    // so will prevent the annoying flickering effect
    e.preventDefault();
});

你必须添加。clickable类的任何元素,你想从。

然后,将所有点击事件更改为touchstart事件,因此

$('#elementid').click(function(e){
   console.log('ex event'); 
}

现在必须是

$(document).on('touchstart', '#elementid', function(e){
   console.log('new event'); 
}