jquery input select all on focus jquery input select all on focus jquery jquery

jquery input select all on focus


Try using click instead of focus. It seems to work for both mouse and key events (at least on Chrome/Mac):

jQuery < version 1.7:

$("input[type='text']").click(function () {   $(this).select();});

jQuery version 1.7+:

$("input[type='text']").on("click", function () {   $(this).select();});

Here is a demo


I think that what happens is this:

focus()   UI tasks related to pre-focus   callbacks       select()   UI tasks related to focus (which unselect again)

A workaround may be calling the select() asynchronously, so that it runs completely after focus():

$("input[type=text]").focus(function() {     var save_this = $(this);    window.setTimeout (function(){        save_this.select();     },100);});


I think this is better solution. Unlike simply selecting in onclick event, it doesn't prevent selecting/editing text with mouse. It works with major rendering engines including IE8.

$('input').on('focus', function (e) {    $(this)        .one('mouseup', function () {            $(this).select();            return false;        })        .select();});

http://jsfiddle.net/25Mab/9/