2012-04-20 8 views
1

新しいFirefoxの夏にsetSelectionRangeというテキストボックスが動作しないのだろうかと思います。 MDNサイト(Mozillaのデベロッパーセンター)では、それが指定されました:XUL textbox setSelectionRange

setSelectionRange(開始、終了) 戻り値の型:テキストボックスの選択した部分を設定します ノーリターン値、start引数がの指標であります最初の文字を選択し、最後の引数は で、選択後の文字のインデックスです。両方の引数を同じ値の に設定して、テキストを選択せず​​にカーソルを対応する位置 に移動します。

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> 
<window id="yourwindow" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
     xmlns:html="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://www.w3.org/1999/xhtml"> 

<button label="x" oncommand="sel()" /> 

<textbox id="id" multiline="true" 
     value="This is some text that could wrap onto multiple lines."/> 

<script type="text/javascript"> 
<![CDATA[ 
function sel(){ 
var textbox = document.getElementById("id"); 
textbox.setSelectionRange(1 , 2); 
} 
]]> 
</script> 
</window> 
+1

https://developer.mozilla.org/en/XUL_Tutorial/Focus_and_Selection – linguini

答えて

1

機能が正常に動作します。しかし、ボタンをクリックすると、入力フォーカスはボタン上に(論理的に)表示され、setSelectionRangeはそれを変更しません。 を押してテキストフィールドを選択し、選択を表示させることができます。また、あなたはまた、テキストフィールド集中するあなたのsel()機能に次の行を追加することができます。私は望んでいたよう

textbox.focus(); 
+0

をおかげで、働いていました。 – user916933

+0

@ user916933:うまくいけば答えを受け入れることができます:http://stackoverflow.com/faq#howtoask –

+0

文の複数の部分を選択することは可能でしょうか? – user916933