2010-06-09 29 views

risposta

14

Si può dare un'occhiata a this article:

Supponiamo che abbiamo la seguente immissione del testo:

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

Nella maggior parte dei casi, ci vorrebbe avere questa funzionalità a disposizione di tutti caselle di testo attraverso il nostro sito web, così avremmo creare una funzione per gestire questo e chiamalo secondo necessità. Chiamando questa funzione con l'argomento previsto si eseguirà l'evidenziazione del testo.

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

si Supponendo che stanno sviluppando contro DotNetNuke 5, o hanno jQuery già importato nel tuo sito web, aggiungere il seguente jQuery per il vostro sito per ogni casella di testo. (Se si dispone di un sacco di caselle di testo, potremmo fare in modo diverso, ma questo è per un posto diverso.)

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

È possibile farlo:

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

Naturalmente, allora non puoi cliccare sull'elemento per selezionare un punto arbitrario nell'input, quindi potrebbe essere meglio a fuoco l'evento su focus invece di click

Quick Demo w/ click o w/ focus

+0

È quel gnarf come Pinky era solito dire sul mignolo e sul cervello? – Zoidberg

+0

@Zoidberg - No, sarebbe 'narf' --- Anche se pronunciato lo stesso,' gnarf' è semplicemente il mio cognome all'indietro. – gnarf

15

Non c'è bisogno di jQuery, questo è semplice con il DOM e funziona in tutti i browser principali:

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

Se è necessario farlo con jQuery, c'è ben poca differenza:

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

Non sono sicuro se funzionerà in IE 6 ... ma a chi importa !! Hehehehe – Zoidberg

+0

Lo farà. Sono abbastanza sicuro che la versione non jQuery funzionerà in IE 3. Certamente IE 4. –

1

so che questo non è jquery, ma per completezza di un nswers a questa domanda, è possibile utilizzare questo sull'ingresso testo stesso:

onclick="this.select();" 

Ad esempio:

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

questo funziona meglio per me.

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

Dove Io di solito faccio questo è in

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

per la prima casella di testo che voglio compilato In questo modo se sto conservando Stato.; e se l'utente fa il backtrack alla pagina allora lo evidenzia automaticamente tutto per il typeover.

Tecnica utile per le cose come caselle di ricerca ...

Problemi correlati