我试图选择一个文本框中的所有文本时,标签到文本框,当它被点击。以为我有一个好东西,当我有function selectField() {$(this).select();}
选择它,但后来我发现,我可以使用onfocus和onclick,并设置那些直接与this.select();
问题是,我可以做到,当我tab到文本字段,但点击它。演示一下我在讲什么http://jsfiddle.net/t9jJX/
编辑。当我单击文本框时,高亮显示的文本不会保持高亮显示。
试试这个:
$("input").on('mouseup',function(){
$(this).focus().select();
});
我还删除了整个HTML中的onclick
和onfocus
属性。在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"
,同样的行为也很明显