WEB开发网
开发学院网页设计JavaScript JavaScript Event学习第七章:事件属性 阅读

JavaScript Event学习第七章:事件属性

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: which是一个古老的Netscape属性,鼠标左键的值是1,JavaScript Event学习第七章:事件属性(3),中键(滚轮)的值是2,右键的值是3,5、在Event发生时鼠标的位置在哪?鼠标位置这个问题相当的严峻,虽然有不少于6对鼠标坐标的属性,除了支持上比较薄弱以外没有什么问题,事实

which是一个古老的Netscape属性。鼠标左键的值是1,中键(滚轮)的值是2,右键的值是3。除了支持上比较薄弱以外没有什么问题,事实上也经常用来检测鼠标按键。

现在button属性能被很好的识别。W3C的标准值如下:

* 左键 0

* 中键 1

* 右键 2

微软的标准值如下:

* 左键 1

* 中键 4

* 右键 2

毫无疑问的微软的标准比W3C的好。0可以表示没有键按下,其他都是不合理的。

另外,只有在微软的模型中按键的值是可以合并使用的,比如5就代表“左键和中键”一起按下。不仅IE6不支持合并,w3c的的模型在理论上也是不能完成的:你永远也不知道左键是不是被按下了。

所以在我看来w3c在定义button上有严重的失误。

右击

幸运的是,通常你想知道右键是否被点击。因为W3C和微软恰好在这个问题上给button的定义值是2,所以你依然可以检测右击。

1 function doSomething(e) {<br>    var rightclick;<br>    if (!e) var e = window.event;<br>    if (e.which) rightclick = (e.which == 3);<br>    else if (e.button) rightclick = (e.button == 2);<br>    alert('Rightclick: ' + rightclick); // true or false<br>}<br>

需要注意的是,Macs通常只有一个键,Mozilla给Ctrl-Click的button的值定义为2,所以Ctrl-Click也会打开菜单。ICab 还不支持鼠标button属性,所以你在Opera里面还不能检测右击。

5、在Event发生时鼠标的位置在哪?

鼠标位置这个问题相当的严峻。虽然有不少于6对鼠标坐标的属性,但是仍然没有一个可靠的跨浏览器的方法能找到鼠标的坐标。

编缉推荐阅读以下文章

  • JavaScript Event学习补遗:addEventSimple
  • JavaScript Event学习第十一章:按键的检测
  • JavaScript Event学习第十章:一些可替换的事件对
  • JavaScript Event学习第九章:鼠标事件
  • JavaScript Event学习第八章:事件的顺序
  • JavaScript Event学习第六章:事件的访问
  • JavaScript Event学习第五章:高级事件注册模型
  • JavaScript Event学习第四章:传统的事件注册模型
  • JavaScript Event学习第三章:早期的事件处理程序
  • JavaScript Event学习第二章:Event

上一页  1 2 3 4  下一页

Tags:JavaScript Event 学习

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接