XUL文本框setSelectionRange

时间:2012-04-20 01:44:35

标签: javascript xul xulrunner

我想知道例程setSelectionRange文本框是否在新的Firefox夏天不起作用。在MDN站点(Mozilla开发人员中心)中指定了:

  

setSelectionRange(开始,结束)       返回类型:无返回值       设置文本框的选定部分,其中start参数是要选择的第一个字符的索引,end参数是   选择后的字符索引。将两个参数都设置为   将光标移动到相应位置的相同值   没有选择文字。

<?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 个答案:

答案 0 :(得分:1)

这个功能很好用。但是,当您单击按钮时,按钮上的输入焦点(逻辑上),setSelectionRange将不会更改。您可以按 Tab 选择文本字段并使选择可见。或者,您也可以将此行添加到sel()函数中以聚焦文本字段:

textbox.focus();