为什么加上window.onload就不行了?

就是想选中文本框时让 文字选中 为什么放在window.onload里面就不行 放在外面才可以?

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script language="javascript" type="text/javascript"> 
    window.onload=function(){
        function getFocus() {
       document.getElementById("test").select(); 
       } 
    }
       </script>
        </head> 
        <body> 
        <form id="f1"> 
        <input type="text" id="test" name="test" value="你好嗎?" onfocus="getFocus();"/> 
        <button type="submit">aaa</button>
        </form>
        </body>
         </html> 
阅读 4.9k
5 个回答

写在window.onload=function(){}里面,外面无法访问到,其实你要想写在里面,你可以在js里面获取元素,然后添加focus事件。

这是一个作用域的问题,写在window.onload中的getFocus()函数是闭包在一个匿名函数中的。自然无法在这个闭包函数以外的作用域调用。

放在里面,getFocus 就不属于全局作用域了,外面访问不到

window.onload直接等于你的getFocus函数就可以了

作用域的问题 补一下全局作用域和函数作用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题