2010-06-09 35 views

Respuesta

14

Usted puede echar un vistazo a this article:

Supongamos que tenemos la siguiente entrada de texto:

<input type="text" id="txtInput" /> 

En la mayoría de los casos, nos gustaría tener esta característica disponible para todos los cuadros de texto a través de nuestra página web, por lo que crearíamos una función para manejar esto, y llámalo según sea necesario. Llamar a esta función con el argumento esperado hará que se ejecute el resaltado del texto.

function selectAllText(textbox) { 
textbox.focus(); 
textbox.select(); } 

Suponiendo que se están desarrollando en contra de DotNetNuke 5, o han jQuery ya importado en su sitio web, añada lo siguiente a su sitio de jQuery para cada cuadro de texto. (Si usted tiene una gran cantidad de cuadros de texto, podríamos hacer esto de manera diferente, pero eso es para otro puesto.)

jQuery('#txtInput').click(function() { selectAllText(jQuery(this)) }); 
4

Usted puede hacer esto:

$('input').click(function() { 
// the select() function on the DOM element will do what you want 
this.select(); 
}); 

Por supuesto, entonces no puede hacer clic en el elemento para seleccionar un punto arbitrario en la entrada, por lo que puede ser mejor para disparar ese evento en lugar de focusclick

Quick Demo w/ click o w/ focus

+0

Es eso gnarf como Pinky solía decir el meñique y el cerebro? – Zoidberg

+0

@Zoidberg - No, eso sería 'narf' --- Aunque pronunciado lo mismo,' gnarf' es simplemente mi apellido al revés. – gnarf

15

No hay necesidad de jQuery, esto es muy sencillo con el DOM y funciona en todos los navegadores principales:

input.onfocus = function() { this.select(); }; 

Si debe hacerlo con jQuery, hay muy poca diferencia:

$(input).focus(function() { this.select(); }); 
+2

No estoy seguro si esto funcionará en IE 6 ... pero a quién le importa! Hehehehe – Zoidberg

+0

Lo hará. Estoy bastante seguro de que la versión no jQuery funcionará en IE 3. Ciertamente IE 4. –

1

sé que esto no es jQuery, pero por lo completo de la una espuestas a esta pregunta, puede utilizar esta en la entrada de texto en sí:

onclick="this.select();" 

Por ejemplo:

<input type="text" value="abc" onclick="this.select();"/> 
2

esto funciona mejor para mí.

$('myTextbox').select(); 
1

Donde Me suelen hacer esto es en

$(document).ready(function() { 
    $('#myTextBox').focus(); 
    $('#myTextBox').select(); 
} 

por primera caja de texto que quiero lleno en De esta forma si estoy preservando estado.; y si el usuario retrocede a la página, automáticamente lo resalta todo para typeover.

técnica útil para cosas como cuadros de búsqueda ...

Cuestiones relacionadas