您当前的位置:首页 > 网站建设笔记 >

event事件对象中的更多信息

0

DOM2级事件规范在event对象中还提供了detail属性,用于给出有关事件的更多信息。对于鼠标事件来说,detail中包含了一个数值,表示在给定位置上发生了多少次单击。在同一个元素上相继地发生一次mousedown和一次mouseup事件算作一次单击。detail属性从1开始计数,每次单击发生后都会递增。如果鼠标在mousedown和mouseup之间移动了位置,则detail会被重置为0。IE也通过下列属性为鼠标事件提供了更多信息。

altLeft:布尔值,表示是否按下了Alt键。如果altLeft的值为true,则altKey的值也为true。
ctrlLeft:布尔值,表示是否按下了Ctrl键。如果ctrlLeft的值为true,则ctrlKey的值也为true。
offsetX:光标相对于目标元素边界的x坐标。
offsetY:光标相对于目标元素边界的y坐标。
shiftLeft:布尔值,表示是否按下了Shift键。如果shiftLeft的值为true,则shiftKey的值也为true。

这些属性的用处并不大,原因一方面是只有IE支持它们,另一方是它们提供的信息要么没有什么价值,要么可以通过其他方式计算得来。

<script type="text/javascript">
window.onload=function(event){
  //兼容DOM的浏览器会将一个event对象传入到事件处理程序中,无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event对象。

  //与访问DOM中的event对象不同,要访问IE中的event对象有几种不同的方式,取决于指定事件处理程序的方法。
  //在使用DOM0级方法添加事件处理程序时,event对象作为window对象的一个属性存在。
  document.onclick=function(event){
    event=event||window.event;
    ADS.log.write(event.detail);
    ADS.log.write("event.ctrlLeft = "+event.ctrlLeft);
    ADS.log.write("event.altLeft = "+event.altLeft);
    ADS.log.write("event.shiftLeft = "+event.shiftLeft);
  }
}
</script>
顶部中部底部