Js浏览器对event 和window.event写法不同
在IE/Opera中,用window.event写法,
在Firefox里面, 用event写法。
event=event || window.event;event.preventDefault();
获取事件对象的方法也不一样(产生事件的源eg:哪个按钮按下的):
在IE中,用window.event.srcElement,
在Firefox里面,用 event.target。
opera中两个都能用。
- //在IE 中srcElement 表示产生事件的源,比如是哪个按钮触发的onclick 事件,火狐中则是target。
- //window.event.srcElement取得引发onclick事件的控件(表单元素)。在火狐中srcElement无效(要用target)
-
- var obj = evt.srcElement ? evt.srcElement : evt.target;
event的跨浏览器测试
//Firefox中在写关于event的函数的时候,必须把event对象作为参数传递给函数,这样才能使用event对象
function doTestEvent( evt )
{
//如果是IE/Opera,我们就用 srcElement 来获取触发事件的对象
//如果是Firefox,我们就用 target 来获取触发事件的对象
var src = evt.srcElement ? evt.srcElement : evt.target;
alert( src.value );
}
//-->
//***********************************
这里顺便说一下判断鼠标按键的问题。
在 IE 里面
左键是 window.event.button = 1
右键是 window.event.button = 2
中键是 window.event.button = 4
没有按键动作的时候 window.event.button = 0
在 Firefox 里面
左键是 event.button = 0
右键是 event.button = 2
中键是 event.button = 1
没有按键动作的时候 event.button = 0
在 Opera 7.23/7.54 里面
鼠标左键是 window.event.button = 1
没有按键动作的时候 window.event.button = 1
右键和中键无法获取
而在 Opera 7.60/8.0 里面
鼠标左键是 window.event.button = 0
没有按键动作的时候 window.event.button = 0
右键和中键无法获取
http://blog.csdn.net/seminmredoxu/article/details/6856253
http://www.cnblogs.com/wayne173/p/3741848.html