valor una tiene texto span saber obtener elemento con celda cambiar boton atributo asignar javascript jquery forms textarea selection

javascript - una - jQuery: selecciona todo el texto de un área de texto



obtener texto de un span jquery (6)

¿Cómo puedo hacerlo así cuando haces clic dentro de un área de texto, se selecciona todo su contenido?

Y, finalmente, cuando haces clic nuevamente, para anular la selección.


Mejor manera, con solución al problema tab y chrome y nueva forma jquery

$("#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; }); } });


Terminé usando esto:

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


Versión jQuery ligeramente más corta:

$(''your-element'').focus(function(e) { e.target.select(); jQuery(e.target).one(''mouseup'', function(e) { e.preventDefault(); }); });

Maneja la caja de la esquina de Chrome correctamente. Ver http://jsfiddle.net/Ztyx/XMkwm/ para un ejemplo.



Para evitar que el usuario se moleste cuando se selecciona todo el texto cada vez que intente mover el símbolo de intercalación con el mouse, debe hacerlo utilizando el evento de focus , no el evento de click . Lo siguiente hará el trabajo y solucionará un problema en Chrome que impide la versión más simple (es decir, simplemente no funciona el método select() en un controlador de eventos de focus ).

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

Código:

<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>

Versión jQuery:

$("#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; }); });


$(''textarea'').focus(function() { this.select(); }).mouseup(function() { return false; });