【发布时间】:2014-06-20 13:45:15
【问题描述】:
当我在我的项目中包含 FastClick 时遇到问题。一切正常,移动设备上的 300 毫秒延迟丢失,但现在以编程方式触发 click() 事件在移动设备上不起作用。
【问题讨论】:
-
尝试触发
tap事件
标签: javascript jquery html web webkit
当我在我的项目中包含 FastClick 时遇到问题。一切正常,移动设备上的 300 毫秒延迟丢失,但现在以编程方式触发 click() 事件在移动设备上不起作用。
【问题讨论】:
tap事件
标签: javascript jquery html web webkit
它在文档中说明了这一点(嗯,您在高级下链接的页面)
这就是 needsclick 类的用武之地。将该类添加到任何需要非合成点击的元素。
所以将needsclick 类添加到您想要手动触发“点击”的元素中
【讨论】:
我遇到了完全相同的问题,最后我摆脱了 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 类添加到您想要从中消除 300m 延迟的任何元素。
然后,将所有点击事件更改为 touchstart 事件,这样就可以了
$('#elementid').click(function(e){
console.log('ex event');
}
现在应该是这个
$(document).on('touchstart', '#elementid', function(e){
console.log('new event');
}
【讨论】: