我们经常会碰到这种情况,一个网页在一台电脑上运行没有什么问题,在另外一台电脑上就会报找不到属性的错误,这个是由于一般是由于我们触发某个事件时,这段js代码还没有被载入,导致找不到这个属性。这种情况我们一般的处理方法是将js代码写在前面,这个如果控件(如按钮)被载入前就可以保证这段js代码已经被载入了,但是有的时候,js代码由于某种原因不得不写在下面,这样就没有办法保证我们触发一个事件时,这段js代码完全被载入,最好的办法就是将这些事件写在一个函数中,然后系统在触发onload时调用这个函数,如下:
<script language="javascript">
function initObject()
{
document.all("nextstep").attachEvent("onclick", nextPaper);
}
window.attachEvent("onload", initObject);
</script>
这里,initObject函数中只有一个下一步按钮的onclick事件,这个事件触发的nextPaper函数,这么这句话: window.attachEvent("onload", initObject); 意思时我网页触发onload时调用initObject,只有就保证了网页被载入前对属性进行了初始化。
<script language="javascript">
function initObject()
{
document.all("nextstep").attachEvent("onclick", nextPaper);
}
window.attachEvent("onload", initObject);
</script>
这里,initObject函数中只有一个下一步按钮的onclick事件,这个事件触发的nextPaper函数,这么这句话: window.attachEvent("onload", initObject); 意思时我网页触发onload时调用initObject,只有就保证了网页被载入前对属性进行了初始化。