ie中的onreadystatechange问题
18
十一
Posted by: walkingp in: javascript
ie中的onreadystatechange是非常好的一个函数,它代表所有dom元素框架加载完毕后执行,onload是要等到所有dom元素的所有东西完全加载后执行,例如网页中有一张很大的图片,那个使用onreadystatechange就是页面一把最基本的框架加载完毕就执行,而onload则要等到那张图片下载完成后才开始执行。这样的话可能会出现一些问题,如我之前使用使用js制作导航条的滑动门,但是我放在了相关的html元素之后,我瞬间鼠标移到元素上就会发生js报错,“无法找到对象”;使用onload也会出现这种情况。于是这时document.onreadystatechange就非常符合这种应用场合。
但在firefox中并不支持onreadystatechange,所以这种情况让我很苦恼,后来终于在blueidea上找到相关的解决方法,改造后就是这个样子。
<script type="text/javascript">
//< ![CDATA[
if(document.attachEvent){
document.onreadystatechange=function(){
//if(document.readyState=='interactive'){
Start();
//}
};
}else{
document.addEventListener("DOMContentLoaded",Start,false);
}
function Start(){
alert("document.readyState=" + document.readyState + "\nYes,I'm running");
}
//]]>
</script>
<p><img alt="walkingp" src="http://www.51obj.cn/demo/walkingp.jpg" /></p> |
可以试试效果
Related posts:
- js中的冒泡事件与事件监听 js中“冒泡事件”并不是能实际使用的花哨技巧,它是一种对js事件执行顺序的机制,“冒泡算法”在编程里是一个经典问题,冒泡算法里面的冒泡应该说是交换更加准确;js里面的“冒泡事件”才是真正意义上的“冒泡”,它从DOM最低层逐层遍历树,然后附加相应事件。...
- ie与ff下的event event是ie自带的一个对象,而ff中不存在该对象,只能通过传递参数的方式来模拟event,:( 另外ie中使用srcElement去获得事件触发源,ff下使用target。因此使用这两个对象时需要做相关的浏览器兼容。 ...
- js中鼠标滚轮事件详解 ?View Code JAVASCRIPT/*Firefox注册事件*/ if(document.addEventListener){ document.addEventListener('DOMMouseScroll',scrollFunc,false); } Safari与Chrome属于同一类型,可使用HTML DOM方式添加事件 ?View Code...
- 关于previousSibling与nextSibling firefox中会出现一个奇怪的现象,就是p1的previousSibling与nextSibling均返回undefined,使用nodeType测试 p1.previousSibling会返回3,也就是文本属性——firefox把p1与h4之间的回车换行也当作了一个元素!这种形式:(“\n ”) 因此在使用previousSibling与nextSibling时需要去做一些处理,一是可以将其节点之间的换行回车删除;二是使用p1.previousSibling.previousSibling这种间接方式来获取。...
- 如何检查浏览器类型 使用检查navigator.userAgent字符串来判断浏览器类型。今天在看一篇文章中提到用户在某些浏览器可以更改userAgent,这样就不能单纯使用这个方法来检查浏览器。在实际使用中一般检查最多的是ie浏览器与标准dom浏览器的区别,这样可以使用window.addEventListener来判断这两种类型的浏览器...
以上关联文章由 Yet Another Related Posts Plugin 提供支持。
Leave a reply