9

現在、入力要素内のプリセット値テキストを選択せず​​に、最初の入力要素にフォーカスしたいと考えています。入力要素にフォーカスを当ててから、その中のテキストを選択解除するにはどうすればよいですか? 私の現在の焦点のjQueryは次のとおりです。

$(document).ready(function() {
    $("input[name='title']").focus();
});
4

6 に答える 6

11

selectionStartおよびselectionEndプロパティを使用できます。

$(document).ready(function() {
    $("input[name='title']").each(function(){
        this.focus();
        this.selectionEnd = this.selectionStart;
    });
});
于 2012-07-09T22:31:29.447 に答える
9
$(document).ready(function() {
    $("input[name='title']").focus();
    $("input[name='title']").val($("input[name='title']").val());
});
于 2012-07-09T22:33:53.103 に答える
4

これは、上記の Danilo Valente の回答に基づいています。Chrome では、 を呼び出す前にわずかな遅延を使用する必要があることがわかりましたthis.selectionEnd = this.selectionStart。そうしないと、入力テキストが選択されたままになります。

これは、Chrome、Firefox、Safari、および IE (IE 10 でテスト済み) で動作します。

$("input").focus(function() {
    var input = this;
    setTimeout(function() { input.selectionStart = input.selectionEnd; }, 1);
});

ここにデモがあります:http://jsfiddle.net/rangfu/300ah0ax/2/

于 2014-12-08T11:21:06.827 に答える
0
$("input[name='title']").focus(function()
{ 
    var elem = $(this);

    elem.val(elem.val());
});
于 2012-07-09T22:31:45.490 に答える
-2

その素晴らしい購入はあなたを助けるかもしれません

JSFiddle

Basic : 既存のものを上書き...

$(document).ready(function() {
    $('#t1').focus();
    $('#t1').val($('#t1').val());                      
}); ​
于 2012-07-09T22:42:25.437 に答える