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

Use Onfocus and Onclick to select text in a textbox

本文关键字:文本 Onclick Onfocus 使用 选择      更新时间:2023-09-26

我试图选择一个文本框中的所有文本时,标签到文本框,当它被点击。以为我有一个好东西,当我有function selectField() {$(this).select();}选择它,但后来我发现,我可以使用onfocus和onclick,并设置那些直接与this.select();问题是,我可以做到,当我tab到文本字段,但点击它。演示一下我在讲什么http://jsfiddle.net/t9jJX/

编辑。当我单击文本框时,高亮显示的文本不会保持高亮显示。

试试这个:

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

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

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

this.select()附加到onfocus的问题。只使用click,你的代码就可以正常工作了:

<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在鼠标向上放置文本中的克拉,但在鼠标向下触发onfocus。使用onfocus事件来选择不是很正确,因为chrome选择了所有内容,然后在文本中放置carat时取消选择。

如果测试onmousedown="this.select()"onmouseup="this.select",同样的行为也很明显