以前写 JavaScript 程序时,事件都是采用
object.event = handler;
的方式初始化。这种方式对于 Internet Explorer、Mozilla/Firefox 和 Opera 来说很通用。但是有一个问题就是,这种方式只能一个事件对应一个事件处理过程。如果希望一个事件可以依次执行多个处理过程就不好用了。
但是 Internet Explorer 从 5.0 开始提供了一个 attachEvent 方法,使用这个方法,就可以给一个事件指派多个处理过程了。attachEvent 对于目前的 Opera 也适用。但是问题是 Mozilla/Firefox 并不支持这个方法。但是它支持另一个 addEventListener 方法,这个方法跟 attachEvent 差不多,也是用来给一个事件指派多个处理过程的。但是它们指派的事件有些区别,在 attachEvent 方法中,事件是以 “on” 开头的,而在 addEventListener 中,事件没有开头的 “on”,另外 addEventListener 还有第三个参数,一般这个参数指定为 false 就可以了。
因此要想在你的程序中给一个事件指派多个处理过程的话,只要首先判断一下浏览器,然后根据不同的浏览器,选择使用 attachEvent 还是 addEventListener 就可以了。实例如下:
if (document.all) {
window.attachEvent('onload', handler1);
window.attachEvent('onload', handler2);
}
else {
window.addEventListener('load', handler1, false);
window.addEventListener('load', handler2, false);
}
注意:attachEvent 所指派的多个过程的执行顺序是随机的,所以这几个过程之间不要有顺序依赖。另外 attachEvent 和 addEventListener 不仅仅适用于 window 对象,其他的一些对象也支持该方法。
By: 泣红亭 html head meta http-equiv=Content-Type content=text/html; charset=gb2312 title给对象增加一个简单的自定
p onclick=javascript:alert(document.body.offsetWidth);alert(document.body.offsetHeight);点击/p p onclick=javascrip
假设: iframe name=picUploadFrame src=picUpload.php frameborder=0 scrolling=no width=100% height=30/iframe 在IE中
用过div+css作个整个网站,如果是纯粹的div的布局是比较麻烦的,尤其是你div里面嵌套div的,div布局的时候,你有些页面效
群里一个朋友提供的,如果你想通过Ajax采集别站信息,只有IE才允许,并且会给你一个提示。为了安全考虑,Firefox不提供跨
从 So the Necessary May Speak 一文延伸阅读,找到了包括 Luke W 、 Andrey Smagin 、Deva Prasad 多人的再设计,转贴图
CSSER整理,打字真累
关于CSS 用CSS缩写给你的网站加速 Web网站可用性的关键指标是速度,更确切地说,是页面能以多快的速度出现在访问者的浏览