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

15-解决方案2

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

10.3.3 解决方案2

进一步拓展思路,当单选按钮选中时,可以调用文本字段的 .focus() 方法。需要注意的是,下面的代码完全替代了前一个解决方案,不采用 .blur() 方法之后链接 .each() 方法的方案,而是使用 .each() 方法,因为这样可以访问所有需要的对象:

$('#chooseSource input:text').each(function(){
   // 下面的代码都使用两次,所以把它们存储在函数中以达到更高的效率
   // 文本输入字段
   var $inputTxt = $(this);
   // 关联的单选按钮
   var $radioBtn = $inputTxt.siblings('input:radio');
   // 监听文本输入字段的blur事件
   $inputTxt.blur(function(){
     //如果文本输入字段中有文本
     if ( $inputTxt.val() != '' ) {
        // 选中单选按钮
        $radioBtn.attr('checked',true);
     }
   });
   // 监听单选按钮的change事件
   $radioBtn.change(function(){
     // 如果按钮选中,将焦点放在文本输入字段上
     if ( this.checked ) { $inputTxt.focus(); }
   });
}); //结束each()