Firefox下和IE下的单击和双击事件差异

如果在一个DOM对象上同时绑定单击(click)和双击(dblclick)事件,当在这个DOM对象上发生双击事件时,在IE下和在Firefox下将出现不一样的现象:
在IE下,第一次点击(click)会触发一次单击(click)事件,第二次点击(连续的)将会触发双击(dblclick)事件,并不触发单击事件(click);
在FF下,第一次点击(click)会触发一次单击(click)事件,第二次点击(连续的)也会触发双击(dblclick)事件,与在IE下不同的是,这次还是会触发单击(click)事件。

当需要在DOM上同时绑定单击和双击事件时,只有自己写代码实现了:

第一次点击记录下点击的时间,并设置单击事件的Timeout(250ms比较合适),第二次点击时判断此时点击的时间与上次点击的时间间隔,如果小于指定的事件间隔(比如250ms),则判断为双击事件,并clear已设置的Timeout(避免触发单击事件)。

记录点击时间需要注意的一点,就是在IE下,你必须同时绑定单击和双击事件来记录点击时间,而在Firefox下你只需要绑定单击事件来记录每次点击时间,原因写在文章的开头了。

3 comments on “Firefox下和IE下的单击和双击事件差异”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据