【问题标题】:Single click triggered on a double click [duplicate]双击触发单击[重复]
【发布时间】:2011-10-30 11:53:02
【问题描述】:

可能重复:
Need to cancel click/mouseup events when double-click event detected

我试图让 HTML 对象在发生 singledouble 点击事件时表现不同。

目前在我的工作示例http://jsfiddle.net/9vvEG/ 中,单击是在双击时触发的,我希望我的代码专门监听预配置的事件。 即如果双击忽略单击,反之亦然。

目前还没有成功,但是如果您点击我上面的示例链接,您可以看到正在进行的错误。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    我认为您必须使用 setTimeout 记录两次单击之间的时间。在这里寻找解决方案:

    这也可能对您有所帮助:

    【讨论】:

    【解决方案2】:

    来自dblclick 上的 jQuery 文档:

    不建议将处理程序同时绑定到 click 和 dblclick 相同元素的事件。触发的事件顺序各不相同 从浏览器到浏览器,其中一些之前接收到两个点击事件 dblclick 和其他只有一个。双击灵敏度(最大 被检测为双击的两次点击之间的时间)可能会有所不同 操作系统和浏览器,并且通常是用户可配置的。

    似乎没有可靠的方法来确定用户是想要双击还是单击两次,但是如果您想尝试,您也许可以在 click 事件处理程序中使用 setTimeout 来查看是否在一定时间内再次点击。

    【讨论】:

    • +1 如果单击和双击都做某事,这也不是一个好的用户体验。毕竟,单击一次时,您希望立即发生某些事情,如果它也必须等待检查双击,这是不可能的。
    • 您好,谢谢詹姆斯,您的回答解释了我最终应用的机制和逻辑。 +1
    猜你喜欢
    • 2011-03-07
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2017-04-29
    相关资源
    最近更新 更多