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

标签 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>

这是输入与事件绑定(bind)的脚本。

<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');
    }
}
});

最佳答案

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

//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>

关于javascript - jQuery |将焦点设置为输入(固定焦点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31376527/

相关文章:

html - 如何在 &lt;header&gt; 中居中链接?

javascript - 在缓存应用程序(缓存 list )之前,我是否必须打开 iOS 网络应用程序?

javascript - 在 Google map 中按类型显示自定义图像标记图标。

javascript - 如何将所有 $ 更改为 jQuery,其中某些变量名称在某些 Jquery 插件中以 $ 开头?

javascript - 管理类的元素

html - 如何将元素包装在 the_content() 中?

javascript - JS : How to create function that return list of all restaurants with same price range?

javascript - 按钮点击不会触发

javascript - 如何一次显示段落中的一个新单词,通过按键或鼠标单击移动?

html - 固定大小的单元格被另外两个带边框的单元格包围