2015-07-13 103 views
2

我希望我的输入始终具有值,以便焦点固定在它上面,直到输入值并且光标也不能跳过输入。 我知道focus()函数存在,但我该如何处理它?这只是一个事件,不是吗?有没有解决方法?jQuery |将焦点设置为输入(固定焦点)

这是包含输入的html代码。

<div class="col-xs-3 vcenter from-group" id="info"> 
<div class="form-group"> 
    <label class="control-label" for="inputID">아이디</label><p style="display:inline; padding-left:60px; color:red; font-size: 12px">* 적어도 하나의 대문자, 소문자, 숫자를 포함한 6자~16자</p> 
    <div class="controls"> 
     <input type="text" class="form-control" name="inputID" id="inputID" placeholder="내용을 입력해 주세요" required autofocus> 
    </div> 
</div> 

这是输入绑定事件的脚本。

<script> 
jQuery('#inputID').keyup(blank_special_char_validation); 
jQuery('#inputID').focusout(function(){ 
    if (!$(this).val()) { 
     var message = "no id"; 
     error(this.id, message); // ** TODO : SET FOCUS HERE !! 
    } else { 
     id_form_validation(this.id); 
    } 
}); 

难道你们看到** TODO在上面的代码?我想添加焦点固定的函数,直到写入值为止。

请大家给我一些想法。谢谢。

============================================== ===========================
我想集中我的投入取决于情况。例如,如果值不存在或验证不正确,我希望将其集中。但是,如果价值已经存在或验证是真的,它就必须关注。 我可以设定它最后的焦点,但我怎么能不重点呢?我的意思是我想打破焦点事件。

jQuery('#inputID').on('blur',function(){ 
if (!$(this).val()) { 
    var message = "아이디를 입력해 주세요"; 
    error(this.id, message); 
    $(this).focus(); 
} else { 
    //$(this).focus(); 
    if (!id_form_validation(this.id)) { 
     $(this).focus();  // TODO : FOCUS 
    }else { 
     $(this).off('focus'); // TODO : FOCUS OUT 
     $(this).off('blur'); 
    } 
} 
}); 
+1

你试过'$(this).focus()'吗? –

回答

3

您可以使用此代码做同样的...我用模糊

//jQuery('#inputID').keyup(blank_special_char_validation); 
 

 
jQuery('#inputID').focusout(function() { 
 
    if (!$(this).val()) { 
 
    $(this).focus(); 
 
    var message = "no id"; 
 
     error(this.id, message); 
 
    }else { 
 
     id_form_validation(this.id); 
 
    } 
 
    
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-xs-3 vcenter from-group" id="info"> 
 
<div class="form-group"> 
 
    <label class="control-label" for="inputID">아이디</label><p style="display:inline; padding-left:60px; color:red; font-size: 12px">* 적어도 하나의 대문자, 소문자, 숫자를 포함한 6자~16자</p> 
 
    <div class="controls"> 
 
     <input type="text" class="form-control" name="inputID" id="inputID" placeholder="내용을 입력해 주세요" required autofocus> 
 
    </div> 
 
</div>

+0

欢迎您接受我的答案如果你想 –

+0

我不想错误地使用'$('#inputID')。trigger('blur')'is not working。我如何关注? –

+0

当你想触发$('#inputID')触发模糊? –

2

使用$(this).focus()关注您的输入。没有参数的 focus()将在元素上触发该事件。