jQuery |将焦点设置为输入(固定焦点)

时间:2015-07-13 06:16:50

标签: javascript jquery html

我希望我的输入始终具有值,以便将焦点固定到它,直到键入值并且光标也无法转义输入。 我知道focus()函数已经存在,但我该如何处理呢?这只是一个事件吗?有没有解决方案?

这是包含输入的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');
    }
}
});

2 个答案:

答案 0 :(得分:3)

您可以使用此代码执行相同操作...我使用了模糊

&#13;
&#13;
//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);
    }
   
  });
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

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

相关问题