RT,onload函数只是在页面加载完之后调用的,但是这时候页面还没有显示出来。我想知道哪个函数是在页面完全显示出来之后调用的。
因为要在页面初始化时候调用focus函数来设置默认焦点,但是写在onload里面的话,被调用时候页面并没有显示出来,所以是无效的。向大神求救啊!javascriptonload完全显示之后

解决方案 »

  1.   

    最直接的办法,写在onload里面,用setTimeout()包起来,隔一段时间再执行
    setTimeout(function(){ $('#someId').focus();},500);
      

  2.   

    你要focus是不是动态生成的啊。
      

  3.   

    执行onload的时候,控件还都没显示出来,所以设置谁focus是无效的……
      

  4.   

    onload会在页面所有资源下载完毕以后执行,包括图片,何况那些input控件呢??我在想你是不是写了多个onload,导致只执行最后一个onload。
      

  5.   

    它是加载成功了,但是执行onload的时候页面并没有展示出来,这个是可以做实验看到的,那这时候设置某个控件.focus()会不会无效呢?
      

  6.   

    你是说这个控件一开始是隐藏的??那就在显示这个控件的时候focus。onload完了直接设置foucs,只要这个input一开始不是隐藏的,浏览器会自动滚动到这个控件所在位置。
      

  7.   

    用Jquery吧,我觉得符合你得要求,这个只要页面的dom元素创建出来就执行,不会等到页面都加载出来才执行
      

  8.   

    像这样写,可以放在页面的任何位置
    function document.onreadystatechange(){   
        if(document.readyState=="complete"){
        // your code here
        }   
    }
      

  9.   

    如果只是想设置焦点,可以在页面的</html>之前加上document.getElementById('username').focus();