猿问

IE事件模型中的window.event

在使用以下事件处理程序时
function eventHandler(Fe,Ftype,Fhandler) {
if(window.event)
Fe.attachEvent('on'+Ftype,Fhandler);
else
Fe.addEventListener(Ftype,Fhandler,false);
}
在除了Firefox浏览器正常运行外,其他浏览器都报错,在attachEvent()出报错为:undefined is not a function;
将attachEvent()和addListenEvent()互换,则没有错误且返回正确结果。
疑惑:window.event为IE事件模型的事件对象属性。IE事件模型添加事件处理的方法是attachEvent(),为什么说没有定义呢??
神不在的星期二
浏览 641回答 2
2回答

智慧大石

不要用window.event来判断是否是IE浏览器,可以根据window.attachEvent来判断是否是IE浏览器。 你上面的代码调整为: function eventHandler(Fe,Ftype,Fhandler) { if(window.attachEvent) Fe.attachEvent('on'+Ftype,Fhandler); else Fe.addEventListener(Ftype,Fhandler,false);}

明月笑刀无情

window.event 并不是ie独有的。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答