首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎么让js在xhtml文档加载完毕之后再执行

2012-08-02 
如何让js在xhtml文档加载完毕之后再执行?如何让js在xhtml文档加载完毕之后再执行?head区有引用一个js文件,

如何让js在xhtml文档加载完毕之后再执行?
如何让js在xhtml文档加载完毕之后再执行?

head区有引用一个js文件,里面有个函数,一开始就执行

其中有句代码 是 document.getElementById("mydiv").innerHTML="我加载好了";

当然,如果这样会出错。因为还在head区,整个文档还未加载完毕。解决办法之一,是将这段js写在标签div的后面,这样就能获取到对象了。

可是我希望js就要写在js文件里,并且在head区调用。
我现在 希望通过js来判断 是否整个文档已经加载好了。 如加载好了,就能找到div对象了
那么就可以执行我定义的功能了。

怎么实现?
不要用window.onload,因为我这个页面window.onload的时候要执行很多函数。这样会覆盖前面的window.onload=函数

也不要引用jquery.js, 要自己写

[解决办法]
不明白你的意思
因为我这个页面window.onload的时候要执行很多函数。这样会覆盖前面的window.onload=函数
window.onload是在文档加载完毕执行函数 即便不用这个 你还是在文档加载完毕执行 不一样吗?
完全不懂你的意思
[解决办法]
你在body那里加一句话<body onload="你的函数名">这样试试呢
[解决办法]
<html>
<body>

<script>
window.onload = function(){
alert('onload');
}

var load2 = function(){
alert('load2');
};

var load3 = function(){
alert('load3');
};

var EventUtil = {
//注册
addHandler: function(element, type, handler){
if (element.addEventListener){
element.addEventListener(type, handler, false);
} else if (element.attachEvent){
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
},
//移除注册
removeHandler: function(element, type, handler){
if (element.removeEventListener){
element.removeEventListener(type, handler, false);
} else if (element.detachEvent){
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = null;
}
}
};
  

EventUtil.addHandler(window, 'load', load2);
EventUtil.addHandler(window, 'load', load3);


</script>
</body>
</html>

希望这个用例可以解决你的问题。
少年,想学好你的基础吧。推荐《javascirpt高级程序设计》
[解决办法]

HTML code
<html><body><script>window.onload = function(){    alert('onload');}var load2 = function(){    alert('load2');};var load3 = function(){    alert('load3');};var EventUtil = {   //注册   addHandler: function(element, type, handler){     if (element.addEventListener){       element.addEventListener(type, handler, false);     } else if (element.attachEvent){       element.attachEvent("on" + type, handler);     } else {       element["on" + type] = handler;     }   },   //移除注册   removeHandler: function(element, type, handler){     if (element.removeEventListener){             element.removeEventListener(type, handler, false);     } else if (element.detachEvent){             element.detachEvent("on" + type, handler);     } else {             element["on" + type] = null;     }   }               };  EventUtil.addHandler(window, 'load', load2);  EventUtil.addHandler(window, 'load', load3);  </script></body></html>
[解决办法]
不是onload,onload其实很很后面执行了。

楼主的情况,要用 DOMContentLoaded
JScript code
document.addEventListener("DOMContentLoaded", function(){alert('loaded');}, false); 

热点排行