使用Onfocus和Onclick选择文本框中的文本

时间:2014-07-09 14:01:58

标签: javascript jquery html

当我选中文本框并单击它时,我试图选择文本框中的所有文本。当我function selectField() {$(this).select();}选择它时我觉得我有一件好事但后来我发现我可以使用onfocus和onclick并直接用this.select();设置它们问题是我可以在选项卡时执行此操作文本字段,但单击它。有一个小提示,显示我在谈论http://jsfiddle.net/t9jJX/

修改。单击文本框时,突出显示的文本不会保持突出显示。

2 个答案:

答案 0 :(得分:2)

试试这个:

$("input").on('mouseup',function(){
    $(this).focus().select(); 
});

我还删除了整个HTML中的onclickonfocus属性。在Chrome和IE中成功测试过。

演示:http://jsfiddle.net/t9jJX/2/

答案 1 :(得分:1)

this.select()附加到onfocus的问题。仅使用点击,您的代码将正常工作:

<input id="before" type="text" />

<input id="unit"  onclick="this.select();" type="text" />

<input id="Cost"  onclick="this.select();" type="text"  value="123" />

<input id="after" type="text"/>

编辑: 原因似乎是chrome将克拉放在mouseup上的文本中,但在mousedown上触发onfocus。使用onfocus事件进行选择是不正常的,因为chrome选择了所有内容,然后在文本中的克拉位置取消选择它。

如果您测试onmousedown="this.select()"onmouseup="this.select"

,则会出现同样的行为