在浏览器中,与鼠标按键相关的事件包括:mousedown、mouseup、click和dblclick。不管是在IE还是在Firefox、Opera或者Safari中,单击鼠标左键均会产生如下事件序列:
mousedown
mouseup
click
当我们双击鼠标时,IE和其他的浏览器所产生的鼠标事件序列就有差别了,首先看看其他浏览器的情况:
mousedown
mouseup
click
mousedown
mouseup
click
dblclick
两套单击的序列再加上一个dblclick,再看看讨厌的IE吧:
mousedown
mouseup
click
mouseup
dblclick
可恨的IE竟然把mousedown和click事件吃掉了,根本没有派发出来。在编写鼠标点击事件时就要考虑对IE进行特别照顾了。假如在Firefox中添加了click事件的处理函数,不论用户点击速度有多快,每一次的点击都会触发click事件,而IE会在快速的两次点击操作中触发一次click事件和一次dblclick,为了和Firefox的使用体验保持一致,就需要在dblclick事件处理函数中添加和click事件处理相同的逻辑。
mousedown
mouseup
click
当我们双击鼠标时,IE和其他的浏览器所产生的鼠标事件序列就有差别了,首先看看其他浏览器的情况:
mousedown
mouseup
click
mousedown
mouseup
click
dblclick
两套单击的序列再加上一个dblclick,再看看讨厌的IE吧:
mousedown
mouseup
click
mouseup
dblclick
可恨的IE竟然把mousedown和click事件吃掉了,根本没有派发出来。在编写鼠标点击事件时就要考虑对IE进行特别照顾了。假如在Firefox中添加了click事件的处理函数,不论用户点击速度有多快,每一次的点击都会触发click事件,而IE会在快速的两次点击操作中触发一次click事件和一次dblclick,为了和Firefox的使用体验保持一致,就需要在dblclick事件处理函数中添加和click事件处理相同的逻辑。