Event对象跨浏览器的兼容性
Event对象关联了所有事件,以提供有关事件的信息,但是对Eevent对象的访问各浏览器却存在着差异.
先来看一个Demo:
Tips:You can change the code before run.
在IE中可以正常的运行,如果您是在FF中运行其代码会出现event is not defined的错误提示.在IE中会把event附加成window对象的一个属性,在作为事件处理的一部分访问时会相应填写Event对象所含的数据.
对于基于Netscape的浏览器,是需要作为函数的一个参数传入.
function getPos(evnt){
var posx=evnt.clientX;
var posy=evnt.clientY;
var str=”(“+posx+”,”+posy+”)
“;
document.getElementById(‘info’).innerHTML=str;
document.getElementById(‘face’).style.left=posx+’px’;
document.getElementById(‘face’).style.top=posy+’px’;
}
不过这种方法无法在IE中被实例化,所以只需在函数中进行相应判断
evnt=evnt||window.event;这样可以对浏览器的兼容.
Tips:You can change the code before run.
需要注意的是在body中使用内联方法需要显式onmousemove=”getPos(event)”,传入event对象以便对ff的兼容.
14 08,2009 / 10:57
学习了啊