浏览器兼容性系列--浅谈window.attachEvent
2020-12-13 02:11
标签:c style java a color int 以前写 JavaScript 脚本时,事件都是采用 但是
Internet Explorer 从 5.0 开始提供了一个 attachEvent
方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent 对于目前的 Opera 也适用。但是问题是 Mozilla/Firefox
并不支持这个方法。但是它支持另一个 addEventListener 方法,这个方法跟 attachEvent
差不多,也是用来给一个事件指派多个处理过程的。但是它们指派的事件有些区别,在 attachEvent 方法中,事件是以 “on” 开头的,而在
addEventListener 中,事件没有开头的 “on”,另外 addEventListener 还有第三个参数,一般这个参数指定为 false
就可以了。 因此要想在你的程序中给一个事件指派多个处理过程的话,只要首先判断一下浏览器,然后根据不同的浏览器,选择使用 attachEvent
还是 addEventListener 就可以了。实例如下: if (window.attachEvent)
{ =============或者也可以用 if
(document.all){window.attachEvent(‘onload‘,remove)}//IE 注意:attachEvent 所指派的多个过程的执行顺序是随机的,所以这几个过程之间不要有顺序依赖。另外 attachEvent 和
addEventListener
不仅仅适用于 window 对象,其他的一些对象也支持该方法。 浏览器兼容性系列--浅谈window.attachEvent,搜素材,soscw.com 浏览器兼容性系列--浅谈window.attachEvent 标签:c style java a color int 原文地址:http://www.cnblogs.com/feb9903/p/3762003.html
object.event = handler;
的方式初始化。这种方式对于
Internet Explorer、Mozilla/Firefox 和 Opera
来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。
window.attachEvent("onload",
remove);
}
else if (window.addEventListener)
{
window.addEventListener("load",
remove,
false);
}
function
remove()
{
var
div =
document.getElementByIdx_x("divprogressbar");
document.body.removeChild(div);
}
else{window.addEventListener(‘load‘,remove,false);}
//FireFox
文章标题:浏览器兼容性系列--浅谈window.attachEvent
文章链接:http://soscw.com/essay/25054.html