2013-07-22 9 views
24

現在、私は、オートフォーカスされた値を持つテキスト入力フィールドを持っています。テキスト入力の値の末尾にカーソルを置く

ページの読み込み時に、値が選択/強調表示されます。値のテキストの末尾にカーソルを置く方法はありますか?javascriptやCSSでハイライト表示する方法はありますか? <input type="text" value="value text" autofocus />

+2

ONFOCUSにChromiumの下でも作品= "this.value = this.value;" –

+0

onfocus "this.value = this.value"は、既存の値をテキストボックスに割り当てます。これは、そのテキストを入力したようなものなので、最後にカーソルがあります。 – VishalDevgire

+1

[JavaScriptを使用してテキスト入力エレメントのテキストの最後にカーソルを置く](http://stackoverflow.com/questions/511088/use-javascript-to-place-cursor-at-end-of-text-テキスト入力要素) – Gary

答えて

45

これは私

<input type="text" autofocus value="value text" onfocus="this.value = this.value;"/>

+1

興味深いです。どのようなアイデアが、なぜ、どのように機能するのか? –

+0

@Gary:ありがとう! –

+4

更新するだけで、これはFFで動作しなくなりました。 FFの現在のバージョンでは、テキスト全体を選択し、カーソルは後に配置しません。 – vol7ron

5

のために動作します。ここでは

http://jsfiddle.net/TaGL5/はHTMLコードです:ここで

は、オートフォーカス、テキストの値が強調表示されているのjsフィドルですこれにはJqueryを使用してください:

$(function() { 
 
     var input = $("#txt1"); 
 
    var len = input.val().length; 
 
    input[0].focus(); 
 
    input[0].setSelectionRange(len, len); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 

 
<input type="text" id="txt1" value="Lorem" style="width:400px;" />

しかし、一部のブラウザでは、この使用している場合にはenter code hereプロパティ、サポートされていない:この質問はすでにstackoverflowの上に存在して

$(document).ready(function(){ 
 
    $("#search").focus(function(){ 
 
     if (this.setSelectionRange) 
 
     { 
 
     var len = $(this).val().length; 
 
     this.setSelectionRange(len, len); 
 
     } 
 
     else 
 
     { 
 
     $(this).val($(this).val()); 
 
     } 
 
    
 
}); 
 

 
$("#search").focus(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 

 
<input id="search" type="text" value="mycurrtext" size="30" name="search" />

を:

Reference1

Reference2

+0

このような簡単な作業のために第三者のライブラリを使用するのはちょっと残念です。 – shi

12

@ハルシャの答えへのアップグレード:私たちは当時

それを設定し、「値の-等しくない」に仮のリセット値を必要とする 、それがFirefoxでソリューションを機能させるために見つけ

<input type="text" autofocus value="value text" onfocus="var temp_value=this.value; this.value=''; this.value=temp_value" />

+0

Chenosaurusの方法を使用するには、あなたも彼を引用するかもしれません:http:// stackoverflow。/ "//2345915/183181 – vol7ron

+3

@ vol7ron *"ケノサウルス法 "*:D – yckart

0

あなたのテキスト入力フィールドに、このパラメータを追加することができます。

onmouseover="this.setSelectionRange(this.value.length,this.value.length);" 

NBは:2017年

関連する問題