各浏览器中鼠标按键值的差异

鼠标左键测试结果
  IE6/7/8 IE9 Firefox4 Chrome12 Safari5 Opera10
mousedown 1 1 0 0 0 0
mouseup 1 1 0 0 0 0
click 0 0 0 0 0 0
dbclick 无响应 无响应 无响应 无响应 无响应 弹出菜单

IE6/7/8/9中,mousedown/mouseup 事件中获取左键的值为1,click事件中获取的却是0。
其它浏览器,mousedown/mouseup/click 事件中获取左键值均为0。完全遵循标准。
所有浏览器,dbclick事件中均无法获取。

 

鼠标中键测试结果
  IE6/7 IE8/9 Firefox4 Chrome12 Safari5 Opera11
mousedown 4 4 1 1 1 出现方向图标
mouseup 4 4 1 1 1 出现方向图标
click 无响应 0 无响应 1 1 出现方向图标
dbclick 无响应 无响应 无响应 无响应 无响应

出现方向图标

IE6/7/8/9中,mousedown/mouseup 事件中获取中键的值为4。
IE6/7中,click事件无法获取中键的值。IE8/9则可以,但值为0。
Firefox4/Chrome12/Safari5中,mousedown/mouseup 事件中获取中键值为1。
Chrome12/Safar5中,click事件也能获取中键值,亦为1。
Opera11中无法获取中键值。

 

鼠标右键测试结果
  IE6/7/8/9 Firefox4 Chrome12 Safari5 Opera11
mousedown 2 2 2 右键菜单,2 先2,再弹右键菜单
mouseup 先2,再弹右键菜单 先2,再弹右键菜单 先2,再弹右键菜单 右键菜单,2 先2,再弹右键菜单
click 弹右键菜单 弹右键菜单 弹右键菜单 弹右键菜单 弹右键菜单
dbclick 弹右键菜单 弹右键菜单 弹右键菜单 弹右键菜单 弹右键菜单

所有浏览器,mousedown/mouseup事件中均能获取右键值,且都为2。但某些浏览器会有默认右键菜单行为。
所有浏览器,click/dbclick事件中均不能获取到右键值。


从以上测试可看到,判断鼠标按下了哪个键 ,应该选择合适的事件 。这里应选mousedown/mouseup。
Opera10中仍然无法获取到中键的值,因为Opera压根不触发中键的事件(mousedown,mouseup,click,dbclick)。

 

转:http://www.cnblogs.com/snandy/archive/2011/04/07/2006691.html

posted @ 2011-12-24 16:47  Wiliz  阅读(358)  评论(0)    收藏  举报