js中各浏览器中鼠标按键值的差�
W3C DOM-2级定义如下W3C DOM写道在由按下或释放鼠标按钮引起的鼠标事件期间,按钮用于指示哪个鼠标按钮改变了状态。按钮的值范围从零到表示鼠标的左按钮,一个表示中间按钮(如果存在),两个表示右按钮。对于配置为左手使用的鼠标,其中按钮动作被反转,取而代之的是从右向左读取值。其描述的很明确,0,1,2分别代表左,中,右三个键。以下分别在鼠标向下,鼠标向上,点击,数据库点击中测试。复制代码代码如下: p id=' P1 '测试鼠标向下/p p id=' p2 '测试鼠标向上/p p id=' P3 '测试点击/p p id=' P4 '测试数据库点击/p脚本类型=' text/JavaScript '函数$(id){返回文档。getelementbyid(id)} var P1=$(' P1 '),p2=$('p2 '),p3=$('p3 '),P4=$(' P4 ');P1。onmousedown=函数(e){ e=窗口。事件| | e;警报(如按钮);} p2.onmouseup=函数(e){ e=窗口。事件| | e;警报(如按钮);} P3。onclick=函数(e){ e=窗口。事件| | e;警报(如按钮);} P4。ond bclick=函数(e){ e=窗口。事件| | e;警报(如按钮);}/脚本
即:IE6/7/8中,鼠标向下/鼠标向上事件中获取左键的值为1、点击事件中获取的却是0。其它浏览器,鼠标向下/向上/点击事件中获取左键值均为0。完全遵循标准。所有浏览器,dbclick事件中均无法获取
即:IE6/7/8中,鼠标向下/鼠标向上事件中获取中键的值为4。IE6/7中,点击事件无法获取中键的值IE8。则可以,但值为0。Firefox3.6/Chrome7/Safari5中,鼠标向下/鼠标向上事件中获取中键值为1。Chrome7/Safar5中,点击事件也能获取中键值,亦为1。操作10中无法获取中键值
即:所有浏览器,鼠标向下/鼠标向上事件中均能获取右键值,且都为2。所有浏览器,单击/dbclick事件中均不能获取到右键值。以上可看到,判断鼠标按下了哪个键,应该选择合适的事件。这里应选鼠标向下/向上。操作10中仍然无法获取到中键的值,因为歌剧压根不触发中键的事件(鼠标向下,鼠标向上,点击,数据库点击).以下代码将IE6/7/8的值转换成符合万维网路联盟(Consortium环球网简称W3C)标准的复制代码代码如下: var ie678=!-[1,];函数GetButton(e){ var code=e . button;var ie678Map={ 1 : 0,4 : 1,2 : 2 } if(ie678){ 0返回ie678地图[代码];}返回代码;}
版权声明:js中各浏览器中鼠标按键值的差�是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。