我有以下代码在HTML网页中显示文本框。
<input type="text" id="userid" name="userid" value="Please enter the user ID" />
当页面显示时,文本包含请输入用户ID消息。但是,我发现用户需要单击3次才能选择所有文本(在本例中是请输入用户ID)。
只需单击一次即可选择整个文本吗?
编辑:
对不起,我忘了说:我必须使用输入type="text"
发布于 2010-11-01 16:32:33
您可以使用以下javascript代码片段:
<input onClick="this.select();" value="Sample Text" />
但很明显,它在移动Safari上不起作用。在这些情况下,您可以使用:
<input onClick="this.setSelectionRange(0, this.value.length)" value="Sample Text" />
发布于 2013-10-21 23:21:14
之前发布的解决方案有两个怪癖:
Chrome中的
这是一个完整的解决方案,可以选择焦点上的所有文本,但允许在焦点之后选择特定的光标点。
$(function () {
var focusedElement;
$(document).on('focus', 'input', function () {
if (focusedElement == this) return; //already focused, return so user can now place cursor at specific point in input.
focusedElement = this;
setTimeout(function () { focusedElement.select(); }, 100); //select all text in any field on focus for easy re-entry. Delay sightly to allow focus to "stick" before selecting.
});
});
发布于 2013-05-17 14:25:58
我知道这是旧的,但最好的选择是现在使用新的placeholder
超文本标记语言属性:
<input type="text" id="userid" name="userid" placeholder="Please enter the user ID" />
这将导致文本显示,除非输入值,从而消除了选择文本或清除输入的需要。
https://stackoverflow.com/questions/4067469
复制相似问题