当前位置:嗨网首页>书籍在线阅读

06-讨论

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

10.1.3 讨论

使用 $(document).ready() 应该足够快。但是,在通过慢速连接读取大型HTML文件之类的情况下,光标的焦点可能比预期更晚地设置——用户可能已经输入了用户名并且正在输入她的密码,这时 $(document).ready() 执行,将她的光标放回到用户名输入框。这多么烦人!在这种情况下,可以在 <input> 标记之后使用内联JavaScript,立即设置焦点:

<input name="username" id="username" type="text" />
<script type="text/javascript">
   $('#username').focus();
</script>

如果你更喜欢将代码集中放在 $(document).ready() 块中,也可以在设置焦点之前检查文本输入框是否已经输入了文本:

// 当HTML DOM就绪
$(document).ready(function(){
   var $inputTxt = $('#username');
   if( $inputTxt.val() == '' ) {
     // 默认情况下将焦点放在用户名输入框上
     $inputTxt.focus();
   }
});

当禁用JavaScript时会发生什么情况?用户必须手动单击进入文本输入框开始输入。