单击触发双击事件

12

可能重复:
当检测到双击事件时需要取消单击/mouseup事件

我正在尝试使HTML对象在发生单击双击事件时表现不同。

目前,在我的工作示例中,双击会触发单击事件,我希望我的代码仅监听预配置的事件。即,如果双击则忽略单击,反之亦然。

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

2个回答

9
从jQuery文档中关于dblclick的说明:

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

似乎没有可靠的方法来确定用户是否打算进行双击或两次单击,但如果您想尝试,可以在click事件处理程序中使用setTimeout来查看在一定时间内是否发生了另一个点击。

1
此外,如果单击和双击都执行某些操作,那么用户体验也不好。毕竟,当您单击时,您期望立即发生某些事情,如果必须等待检查双击,则不可能立即发生。+1 - pimvdb
你好,James,谢谢你的回答。你解释了我最终应用的机制和逻辑。+1 - Xavier

4

那是一个很好的答案。 - Xavier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接