单击时选择文本字段中的文本?

时间:2009-12-17 00:11:13

标签: javascript jquery

如何在用户点击文字输入字段时选择文本字段中的文字?

我使用过这段代码:

  $("input[type=text]").focus(function() {
      $(this).select();
  });

但它在safari中不起作用。在FF中它有时会起作用。

4 个答案:

答案 0 :(得分:3)

jQuery中的select()方法只是在所有匹配的对象上触发select事件。如果要在文本框中操作选定的文本范围,则需要做更好的事情。现代浏览器的行为有所不同。

以下代码适用于Chrome,Firefox,IE,Safari和Opera:

<input type="text" id="textBox" />
<script type="text/javascript">
$(document).ready(function(){
    function textBox_click(ev) {
        if (this.createTextRange) {
            // This is for IE and Opera.
            range = this.createTextRange();
            range.moveEnd('character', this.value.length);
            range.select();
        } else if (this.setSelectionRange) {
            // This is for Mozilla and WebKit.
            this.setSelectionRange(0, this.value.length);
        }
    }

    $('#textBox').click(textBox_click);
});
</script>

答案 1 :(得分:0)

尝试:

$("input[type=text]").focus().select();

答案 2 :(得分:0)

这适用于Opera,FF,IE

$("input[type=text]").focus(function() {
    this.select();
});

答案 3 :(得分:0)

我只是在我的HTML中使用它:

... onclick="this.select()"