Html 如何始终关注文本字段(MVC4C)

Html 如何始终关注文本字段(MVC4C),html,jquery,asp.net-mvc-4,textfield,Html,Jquery,Asp.net Mvc 4,Textfield,我有一个文本字段,无论用户做什么,它总是需要聚焦 我通过以下操作激活了加载时的文本字段: <html> <head> < script type ="text/javascript" src ="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></ script> < script type ="text/javascript"> $( fu

我有一个文本字段,无论用户做什么,它总是需要聚焦

我通过以下操作激活了加载时的文本字段:

<html>
<head>
    < script type ="text/javascript" src ="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></ script>
    < script type ="text/javascript">
    $( function () {
        $( "#myTextBox2" ).focus();
    });
    </ script>
</head>
< body>
    < div>
        < input type ="text" id ="myTextBox">
        < input type ="text" id ="myTextBox2"onblur="var that= this; setTimeout(function() { that.focus(); }, 0);">
    </ div>
</ body>
</html>
学分:

我想谈谈以下几点:

1在页面加载时,使您已经自动完成元素聚焦

2在myTextBox2上创建一个按键事件处理程序,并丢弃除实际输入字符外的所有字符,例如alfanumeric、dots、carets以及用户可以在该字段上实际输入的所有字符

3在myTextBox2上创建一个onblur事件处理程序,它实际上关注于您已经完成的相同输入,我建议将它放在

4为了完整性,在页面上设置间隔,每X微秒检查一次输入的焦点。如果没有,则使输入集中。这是可选的

请注意,在任何情况下,如果函数调用实际检测到输入未聚焦,并且必须聚焦,则焦点将指向输入的开头,因此用户输入将从输入字段的开头重新开始。输入内容不会被销毁,但是用户必须在重新聚焦后跳到输入的末尾


如果您在创建事件处理程序时需要任何帮助,只需询问。

我将提供以下帮助:

1在页面加载时,使您已经自动完成元素聚焦

2在myTextBox2上创建一个按键事件处理程序,并丢弃除实际输入字符外的所有字符,例如alfanumeric、dots、carets以及用户可以在该字段上实际输入的所有字符

3在myTextBox2上创建一个onblur事件处理程序,它实际上关注于您已经完成的相同输入,我建议将它放在

4为了完整性,在页面上设置间隔,每X微秒检查一次输入的焦点。如果没有,则使输入集中。这是可选的

请注意,在任何情况下,如果函数调用实际检测到输入未聚焦,并且必须聚焦,则焦点将指向输入的开头,因此用户输入将从输入字段的开头重新开始。输入内容不会被销毁,但是用户必须在重新聚焦后跳到输入的末尾


如果您在创建事件处理程序时需要任何帮助,请询问。

您可以使用以下代码始终将焦点放在文本字段上:

HTML:

JSFIDLE上的示例:

我必须替换textfield的值,以强制/触发光标在聚焦字段中的位置


希望这有帮助。

您可以使用以下代码始终将焦点放在文本字段上:

HTML:

JSFIDLE上的示例:

我必须替换textfield的值,以强制/触发光标在聚焦字段中的位置


希望这有帮助。

又好又快。但还有一件事,每当我试图用鼠标点击另一个文本框时,文本框会重新获得焦点,但其中的文本会被选中。它不应该选择文本,指针应该指向文本的结尾。顺便说一句,我还没有问过这个问题。而且,如果你把焦点改成最后四个文本字段,你就可以把标签从它移开。也就是说,只要后面有另一个文本,它似乎就能工作。@KULKING thx,我更新了答案。删除了“选择并重置文本框”值,以强制光标在文本字段和文本末尾。@mdc更新了我的答案,现在禁用了示例中“仅其他元素”输入的tabindex,这样tab键就不会再执行任何操作了。@Sven-Hm…我仍然可以从最后一个文本字段中移出tab键吗?在ie10和chrome中试用过。实际上,我的原始代码也有同样的错误。用myTextBox和myTextBox2更换位置,效果很好,很快。但还有一件事,每当我试图用鼠标点击另一个文本框时,文本框会重新获得焦点,但其中的文本会被选中。它不应该选择文本,指针应该指向文本的结尾。顺便说一句,我还没有问过这个问题。而且,如果你把焦点改成最后四个文本字段,你就可以把标签从它移开。也就是说,只要后面有另一个文本,它似乎就能工作。@KULKING thx,我更新了答案。删除了“选择并重置文本框”值,以强制光标在文本字段和文本末尾。@mdc更新了我的答案,现在禁用了示例中“仅其他元素”输入的tabindex,这样tab键就不会再执行任何操作了。@Sven-Hm…我仍然可以从最后一个文本字段中移出tab键吗?在ie10和chrome中试用过。实际上,我的原始代码也有同样的错误。使用myTextBox和myTextBox2更改位置,它就会工作。
    $(document).keydown(function(objEvent) {
        if (objEvent.keyCode == 9) {  //tab pressed
            objEvent.preventDefault(); // stops its action
       }
    })
<form>
    <input type="text" name="name" id="focus" />
    <input type="text" name="name2" />
    <input type="text" name="name3" />
    <input type="text" name="name4" />
</form>
$(document).ready(function() {
    $("#focus").focus().bind('blur', function() {
        $(this).focus();            
    }); 

    $("html").click(function() {
        $("#focus").val($("#focus").val()).focus();
    });  

    //disable the tab key
    $(document).keydown(function(objEvent) {
        if (objEvent.keyCode == 9) {  //tab pressed
            objEvent.preventDefault(); // stops its action
       }
    })      
});​