jQuery - select all text from a textarea jQuery - select all text from a textarea javascript javascript

jQuery - select all text from a textarea


To stop the user from getting annoyed when the whole text gets selected every time they try to move the caret using their mouse, you should do this using the focus event, not the click event. The following will do the job and works around a problem in Chrome that prevents the simplest version (i.e. just calling the textarea's select() method in a focus event handler) from working.

jsFiddle: http://jsfiddle.net/NM62A/

Code:

<textarea id="foo">Some text</textarea><script type="text/javascript">    var textBox = document.getElementById("foo");    textBox.onfocus = function() {        textBox.select();        // Work around Chrome's little problem        textBox.onmouseup = function() {            // Prevent further mouseup intervention            textBox.onmouseup = null;            return false;        };    };</script>

jQuery version:

$("#foo").focus(function() {    var $this = $(this);    $this.select();    // Work around Chrome's little problem    $this.mouseup(function() {        // Prevent further mouseup intervention        $this.unbind("mouseup");        return false;    });});


Better way, with solution to tab and chrome problem and new jquery way

$("#element").on("focus keyup", function(e){        var keycode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;        if(keycode === 9 || !keycode){            // Hacemos select            var $this = $(this);            $this.select();            // Para Chrome's que da problema            $this.on("mouseup", function() {                // Unbindeamos el mouseup                $this.off("mouseup");                return false;            });        }    });


I ended up using this:

$('.selectAll').toggle(function() {  $(this).select();}, function() {  $(this).unselect();});