我使用这段代码尝试在用户聚焦于字段时选择字段中的所有文本。发生的事情是,它选择了所有的一秒钟,然后它被取消选择,输入光标留在我点击的地方…
$("input[type=text]").focus(function() {
$(this).select();
});
我希望一切都能被选中。
我使用这段代码尝试在用户聚焦于字段时选择字段中的所有文本。发生的事情是,它选择了所有的一秒钟,然后它被取消选择,输入光标留在我点击的地方…
$("input[type=text]").focus(function() {
$(this).select();
});
我希望一切都能被选中。
当前回答
试着用点击代替聚焦。它似乎对鼠标和键事件都有效(至少在Chrome/Mac上):
jQuery < 1.7版本:
$("input[type='text']").click(function () {
$(this).select();
});
jQuery 1.7+版本:
$("input[type='text']").on("click", function () {
$(this).select();
});
这是一个演示
其他回答
var timeOutSelect;
$("input[type=text]").focus(function() {
var save_this = $(this);
clearTimeout(timeOutSelect);
timeOutSelect = window.setTimeout (function(){
save_this.select();
}, 100);
});
如果您在两个输入之间快速切换,请使用clearTimeout来获得更多的安全性。 清除旧的超时…
我使用FF 16.0.2和jquery 1.8.3,所有的代码在答案不工作。 我使用这样的代码工作。
$("input[type=text]").focus().select();
与原生JavaScript select()一起工作很好。
$("input[type=text]").focus(function(event) {
event.currentTarget.select();
});
或者概括地说:
$("input[type=text]")[0].select()
<script>$.ready( $("input[type=text]").attr("onclick" , "this.select()"));<script>
试着用点击代替聚焦。它似乎对鼠标和键事件都有效(至少在Chrome/Mac上):
jQuery < 1.7版本:
$("input[type='text']").click(function () {
$(this).select();
});
jQuery 1.7+版本:
$("input[type='text']").on("click", function () {
$(this).select();
});
这是一个演示