Я использую этот код, чтобы попытаться выбрать весь текст в поле, когда пользователь фокусируется на поле. То, что происходит, это выбирает все в течение секунды, затем его отмененный выбор и курсор ввода оставляют, где я нажал...
$("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();
});
Я думаю, что происходит следующее:
focus()
UI tasks related to pre-focus
callbacks
select()
UI tasks related to focus (which unselect again)
Временным решением может быть асинхронный вызов select (), чтобы он полностью выполнялся после focus ():
$("input[type=text]").focus(function() {
var save_this = $(this);
window.setTimeout (function(){
save_this.select();
},100);
});