【问题标题】:FastClick and click() event trigger troubleFastClick 和 click() 事件触发问题
【发布时间】:2014-06-20 13:45:15
【问题描述】:

当我在我的项目中包含 FastClick 时遇到问题。一切正常,移动设备上的 300 毫秒延迟丢失,但现在以编程方式触发 click() 事件在移动设备上不起作用。

【问题讨论】:

  • 尝试触发tap事件

标签: javascript jquery html web webkit


【解决方案1】:

它在文档中说明了这一点(嗯,您在高级下链接的页面)

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

所以将needsclick 类添加到您想要手动触发“点击”的元素中

【讨论】:

  • 看起来我忽略了“needsclick”
  • 300ms 延迟返回但 click() 触发器不起作用。
  • 你能在代码和元素中编辑你试图触发的事件吗?
【解决方案2】:

我遇到了完全相同的问题,最后我摆脱了 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'); 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 2012-02-27
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多