各浏览器中鼠标按键值的差异
| 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

浙公网安备 33010602011771号