有关对象不存在的问题.

时间:2022-12-31 00:17:22
当页面很大时,还没有生成完全时,但是上面已经有一个button生成出来了.
于是用户点击了这个button.这个button要访问下面的一些对象.但是该对象还没有生成出来,于是就出现javascript错误.
如何解决,因为页面很多,对象也多,总不可能一个一个判断该对象是否存在吧?

onload事件好象也有这个问题,页面未完全生成的时候就会执行onload事件.
各位有没有什么好的解决方法?
谢谢.

8 个解决方案

#1


在对象前面加document.all.

#2


可以这样做:
在页面开始处放一个变量,比如
<script>
bommonKey = false;
</script>
在页面结束处,向其赋值
<script>
bommonKey = true;
</script>

在中间的按钮的onclick 事件中先检查该值,若为true则继续否则发出警告

#3




try{
//程序代码
}catch(x){alert("还没有下载完嘛")}

#4


onload事件呢?
有没有可能在没有load完页面的时候就执行?

#5


把js放在最前边就可以保证所有的函数都在,可是不能保证函数中的页面对象都存在

#6


在拨号连网的情况下这种事情是会经常发生的。在你未确定你的用户的浏览器能正确响应新的事件处理机制的情况下,还是“土”点好。

#7


xuzuning(唠叨) 的方法很实在,也很实用!

#8


function document.onreadystatechange()
{
   if(event.readyState=="complete")
   {
      // Finish initialization.
   }
}
用这个事件是否等于 complete 可以判断网页里的内容是否全部加载完毕

#1


在对象前面加document.all.

#2


可以这样做:
在页面开始处放一个变量,比如
<script>
bommonKey = false;
</script>
在页面结束处,向其赋值
<script>
bommonKey = true;
</script>

在中间的按钮的onclick 事件中先检查该值,若为true则继续否则发出警告

#3




try{
//程序代码
}catch(x){alert("还没有下载完嘛")}

#4


onload事件呢?
有没有可能在没有load完页面的时候就执行?

#5


把js放在最前边就可以保证所有的函数都在,可是不能保证函数中的页面对象都存在

#6


在拨号连网的情况下这种事情是会经常发生的。在你未确定你的用户的浏览器能正确响应新的事件处理机制的情况下,还是“土”点好。

#7


xuzuning(唠叨) 的方法很实在,也很实用!

#8


function document.onreadystatechange()
{
   if(event.readyState=="complete")
   {
      // Finish initialization.
   }
}
用这个事件是否等于 complete 可以判断网页里的内容是否全部加载完毕