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中可以直接设置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公共脚本库系列(三): 格式化事件对象/事件对象详解
Tags:Javascript 公共 脚本
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接