2011-09-06 18 views
33

Desidero selezionare tutto il testo all'interno di un'area di testo quando un utente fa clic sulla textarea. Ho provato onclick="this.focus()", ma questo non ha fatto nulla. Ho provato onclick="this.highlight()", ma questo ha causato un errore. Cosa dovrei fare?evidenzia tutto il testo nell'area testo

risposta

41

Ciò potrebbe infastidire gli utenti poiché impedisce il comportamento predefinito utile di posizionare il punto di inserimento in cui l'utente ha fatto clic e pertanto lo consiglio in generale. Detto questo, la soluzione per la maggior parte dei browser è onclick="this.select()".

Tuttavia, questo non funzionerà in Chrome [AGGIORNAMENTO febbraio 2014: ora sembra che funzioni nelle versioni recenti di Chrome]. Per una soluzione e lo sfondo generale su questo problema, vedere la seguente domanda: jQuery - select all text from a textarea

+9

onclick = "this.focus(); this.select()" funziona perfettamente anche in Chrome anche –

+0

@ mars-o: così funziona. Mi chiedo se Chrome ha cambiato il suo comportamento o se ho sempre sbagliato su questo. –

+2

Su Chrome 28, 'onclick =" this.select() "' è sufficiente e funziona! –

4

onclick="this.focus()" è ridondante, come il metodo focus() è equivale a fare clic nella textarea (ma pone il cursore alla fine del testo).

highlight() non è nemmeno una funzione, a meno che, naturalmente, non lo si sia creato da qualche altra parte.

Conclusione: fare this.select()

10
<script type="text/javascript"> 
function SelectAll(id) 
{ 
    document.getElementById(id).focus(); 
    document.getElementById(id).select(); 
} 
</script> 

Textarea:<br> 
<textarea rows="3" id="txtarea" onClick="SelectAll('txtarea');" style="width:200px" >This text you can select all by clicking here </textarea> 

ho ottenuto questo codice here

+1

document.getElementById (id) potrebbe essere omesso, basta passare 'this' come parametro invece:' function SelectAll (el) {el.focus(); el.select(); }; ' –

20
onclick="this.focus();this.select()" readonly="readonly" 
+0

semplice e piacevole, funziona in Chrome – jazzcat

Problemi correlati