单击时选择HTML文本输入中的所有文本

我有以下代码在HTML网页中显示文本框。

<input type="text" id="userid" name="userid" value="Please enter the user ID" />

当页面显示时,文本包含请输入用户ID消息。 但是,我发现用户需要点击3次以选择所有文本(在这种情况下,请输入用户ID)。

只需点击一下就可以选择整个文本吗?

编辑:

对不起,我忘了说:我必须使用input type="text"


你可以使用这个JavaScript片段:

<input onClick="this.select();" value="Sample Text" />

但显然它不适用于移动Safari。 在这些情况下,您可以使用:

<input onClick="this.setSelectionRange(0, this.value.length)" value="Sample Text" />

以前发布的解决方案有两个怪癖:

  • 在Chrome中,通过.select()进行的选择不会保留 - 添加轻微超时可以解决此问题。
  • 聚焦后将光标置于所需的点是不可能的。
  • 这是一个完整的解决方案,可以选择所有焦点文本,但可以在焦点之后选择特定的光标点。

            $(function () {
                var focusedElement;
                $(document).on('focus', 'input', function () {
                    if (focusedElement == this) return; //already focused, return so user can now place cursor at specific point in input.
                    focusedElement = this;
                    setTimeout(function () { focusedElement.select(); }, 50); //select all text in any field on focus for easy re-entry. Delay sightly to allow focus to "stick" before selecting.
                });
            });
    

    Html(你必须把onclick属性放在你希望它在页面上工作的每个输入上)

     <input type="text" value="click the input to select" onclick="this.select();"/>
    

    或更好的选择

    jQuery(这将适用于页面上的每个文本输入,无需更改您的html):

    <script  type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>  
    <script type="text/javascript">
        $(function(){
            $(document).on('click','input[type=text]',function(){ this.select(); });
        });
    </script>
    
    链接地址: http://www.djcxy.com/p/87599.html

    上一篇: Selecting all text in HTML text input when clicked

    下一篇: Retrieve list of only root objects (folders) in S3