WEB开发网
开发学院网页设计JavaScript Javascript公共脚本库系列(三): 格式化事件对象/事... 阅读

Javascript公共脚本库系列(三): 格式化事件对象/事件对象详解

 2010-09-14 13:40:15 来源:WEB开发网   
核心提示: 六.使用技巧 IE中鼠标左键代码是1,FF是0. IE和FF鼠标右键代码都是2(oEvent.button) 取消默认的鼠标菜单, ie中重写document.oncontentmenu方法, ff中要重写document.click方法. 鼠标事件对象中的clientX和clientY可

六.使用技巧

IE中鼠标左键代码是1,FF是0. IE和FF鼠标右键代码都是2(oEvent.button)

取消默认的鼠标菜单, ie中重写document.oncontentmenu方法, ff中要重写document.click方法.

鼠标事件对象中的clientX和clientY可以获取鼠标的坐标

ie中可以直接设置div的style.top和style.left属性为数字(比如100).ff中必须在数字后加"px"(比如100px)

不同的事件类型有顺序: (1)mousedown (2)mouseup (3)click

七.事件对象详解获取

IE中,事件对象是window对象的一个属性.事件处理函数必须这样访问事件对象:

    obj.onclick=function()
    {
      var oEvent = window.event;
    }

在DOM标准中,事件对象必须作为唯一参数传给事件处理函数:

    obj.onclick=function()
    {
      var oEvent = arguments[0];
    }

除了使用argument[0]访问此参数, 我们也可以指定参数名称,上面的代码等同于:

    obj.onclick=function(oEvent)
    {
      
    }

目前兼容DOM的浏览器有Firefox,Safari,Opera,IE7等.

通用的事件对象数据

在IE和DOM中,事件对象带有的数据并不完全相同.但是我认为只有完全的那些数据才是值得我们使用的.下面是一些可以在IE和DOM中使用的事件对象数据.其中假设oEvent是事件对象.

1.获取时间类型

var eventType = oEvent.type

2.获取键盘按键代码:

需要在keydown和keyup事件中使用.

var eventKeyCode = oEvent.keyCode

3.检测Shift,Alt,Ctrl键是否被按下:

    var isShift = oEvent.shiftKey;
    var isAlt = oEvent.altKey;
    var isCtrl = oEvent.ctrlKey;

返回的是boolean值.

4.获取鼠标指针坐标

    var x = oEvent.clientX;
    var y = oEvent.clientY;
八.总结

网上复杂绚丽的脚本特效很多, 但是再复杂的特效也离不开基础的事件和事件对象.一旦明白了原理, 相信大家的创造力可以做出来很多通用的优秀的脚本控件.比如下面这个网址中就有很多的特效:http://www.scriptlover.com/controls/context/ ,感谢"痴情客"在本系列的第二篇文章中提供了上面的网址.

系列文章:

Javascript公共脚本库系列(一): 弹出层脚本

Javascript公共脚本库系列(二): 添加事件多播委托的方法

Javascript公共脚本库系列(三): 格式化事件对象/事件对象详解

上一页  1 2 3 4 5 

Tags:Javascript 公共 脚本

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