Digitando il carattere di tabulazione nelle caselle di testo del browser


89

Molte volte, quando voglio formattare il testo all'interno della casella di testo di una pagina Web, premo il Tabtasto.

Sfortunatamente, ciò non inserisce il carattere di tabulazione ma sposta invece il controllo sull'elemento modulo successivo (come un pulsante o una casella di controllo).

Per browser come Firefox / IE, c'è un modo per ottenere il comportamento di formattazione di una scheda, all'interno di una casella di testo, digitando una combinazione di tasti?

Risposte:


9

Tabinta è un componente aggiuntivo di Firefox che ti consente di farlo.


4
Qualche soluzione per Chrome?
sorin,

2
@SorinSbarnea: vedi la mia risposta
Janus Troelsen,

Non è più compatibile con Firefox.
rory.ap,

Questo è un plugin che funziona in Firefox 64: addons.mozilla.org/en-US/firefox/addon/textarea-tabbing
Stefan_Fairphone

1
Questo plugin non esiste più (in nessun caso la risposta è passata quasi un decennio dalla risposta alla domanda e Firefox è cambiato molto).
aoeu,

63

In Windows, puoi premere Alt+ 09. Funziona solo con i tasti numerici del tastierino numerico. (Rilasciare Altdopo aver premuto l'ultimo tasto numerico.)


4
Assicurati di utilizzare i tasti NumPad
CatamountJack

@ Chris: Quando seguo queste istruzioni esatte, non inserisco un carattere di tabulazione, ma si comporta come il tasto tab. Hai provato questo in un browser web?
Casebash

@Casebash Funziona proprio in questa finestra di commento, in Chrome, in Windows 7 x64.
Chris,

2
Solo se hai Windows e una tastiera con un tastierino numerico.
Lumaca meccanica

1
... e se stai usando Chrome. FF lo vede come il tasto tab, IE non sembra fare nulla. Ancora una volta, +1 per ricordare questo semplice trucco antico :)
Halil Özgür

50

Linux e altri sistemi POSIX (tranne Mac OS):

Per inserire le schede nelle applicazioni GTK + (come Firefox o Chrome):

  1. Ctrl+ Shift+U

  2. genere 9

  3. Premere SpaceoEnter

Fonte: Wikipedia: input Unicode


Funziona ma non è utile per rientrare più righe contemporaneamente.
MYGz,

13

In Safari e Firefox su Mac OS X, puoi premere ControlOptionTabper inserire una scheda nel campo di testo che stai modificando.


7
Sembra che questo non funzioni in Chrome 50 su El Cap
jcollum,

1
Né su Firefox 53 su Sierra.
Jason R. Coombs,

1
@ JasonR.Coombs Funziona ancora in Safari, quindi è lecito ritenere che qualcosa sia cambiato in Firefox nei quattro anni da quando ho scritto questa risposta.
Daniel Beck

9

Apri Blocco note o un editor di testo simile e avvia un nuovo documento vuoto. Tipo Tab. Copia il tuo carattere tab negli appunti. (Su Windows, Ctrl+ A, Ctrl+ Clo farà).

Ora torna alla textarea nel tuo browser. Posiziona il cursore nel punto desiderato e incolla il carattere della scheda. ( Ctrl+ Vsu Windows).

Voilà, fatto!


1
Ciro, è rotto per normali caselle di testo e campi di input di testo o solo elementi "contenteditable"? Perché se si tratta solo di un problema di "contenteditable", potrebbe non influire sul fatto che molte persone (ad esempio il PO) ...
Doin

2
Questa è stata la soluzione più semplice, a meno che non sia necessario farlo frequentemente.
jcollum,

8

Esiste un plug-in di Chrome chiamato Textarea Code Formatter .

Ti consente di inserire schede nelle caselle di testo nel browser Chrome. Inoltre, consente di evidenziare più righe e inserire schede prima di ogni riga selezionata.

Tuttavia, un problema è che spesso si desidera un comportamento standard di inserimento delle schede. Se si utilizza la scheda per passare da una casella all'altra, è possibile selezionare "disabilitato" per impostazione predefinita nelle opzioni.


4

Se è il tuo sito:

Plugin jQuery: http://teddevito.com/demos/textarea.html

jQuery(document).ready(function () {

     $("textarea").tabby();

});

Carica prima jQuery e il plug-in, quindi puoi tab e creare una scheda e spostare + tab su "stacca" per così dire.

Per il supporto a livello di browser, dovrai utilizzare un'estensione, uno script utente, un plug-in, ecc. Come: 46704 per Greasemonkey .


Il link è morto. Cosa c'è con tutte queste cose jQuery. Deve esserci un modo per accettare le schede usando semplicemente JavaScript. Il plugin jQuery è sempre utile per una soluzione già implementata, ma non è proprio la soluzione.
Triynko,

Prova questo capo: stackoverflow.com/a/13130
grizly

1

Il grande vantaggio di Tabinta in Firefox è che puoi associare il carattere di tabulazione a un altro tasto di scelta rapida, dal momento che davvero non vuoi perdere il comportamento predefinito del tasto tab nel browser.

Con Internet Explorer non hai alcuna soluzione in termini di estensioni del browser di cui sono a conoscenza. Qui l'unico modo è mantenere il carattere di tabulazione negli appunti dopo averlo precedentemente copiato da qualche altro programma come il blocco note.

Le soluzioni javascript richiedono il nome della casella di testo su cui agiranno, quindi è tutt'altro che ideale o pratico. Mentre le combinazioni di codici chiave alt in entrambi i browser eseguono comunque il normale evento di pressione dei tasti dei caratteri di tabulazione in modo che non funzionino neanche.


1

Ho incasinato un po ' AutoHotkey per ottenere questa capacità, e l'unica soluzione "a prova di proiettile" che ho trovato è davvero quella di incollare (non inviare) il carattere di tabulazione stesso.

;
; TAB character
; pasted from clipboard
; win tab
;
#tab::
old_clip:=clipboard
clipboard:=A_Tab
clipWait
sendInput,^v
clipboard:=old_clip
clipWait
return

Si scopre che questo collegamento AHK è utile anche negli editor di testo che gestiscono il tasto TAB extra; per esempio. IDE configurato per utilizzare spazi autoindentati.




0

Per digitare la chiave di tabulazione in una casella di testo, è possibile utilizzare uno script come questo (la casella di testo che accetta i tasti di tabulazione è denominata txtLongText):

[VB.NET]

txtLongText.Attributes.Add("onkeydown", _
"if(event.which || event.keyCode){if ((event.which == 9)" & _ 
"|| (event.keyCode == 9)) {document.getElementById('" & _ 
txtLongText.ClientID + "').selection = " & _
document.selection.createRange();" & _ 
txtLongText.ClientID & ".selection.text = " & _
" String.fromCharCode(9);return false;}} else {return true}; ")

[C #]

txtLongText.Attributes.Add("onkeydown", 
"if(event.which || event.keyCode){if ((event.which == 9)" +
"|| (event.keyCode == 9)) {document.getElementById('"+
txtLongText.ClientID + "').selection = document.selection.createRange();" + 
txtLongText.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");

O meglio, per evitare codifiche rigide, è possibile inserire questo codice in una funzione denominata EnableTabType. La funzione ha solo un parametro, che specifica qual è il TextBoxcontrollo in cui è necessario abilitare la digitazione dei caratteri Tab.

[VB.NET]

Public Sub EnableTabType(tb As TextBox)
    tb.Attributes.Add("onkeydown", _
    "if(event.which || event.keyCode){if((event.which == 9)" & _ 
    "|| (event.keyCode == 9)) {document.getElementById('" & _ 
    tb.ClientID & "').selection=document.selection.createRange();" & _
    tb.ClientID & ".selection.text = " & _
    " String.fromCharCode(9);return false;}}else{return true};")
End Sub 

[C #]

public void EnableTabType(TextBox tb)
{ 
    tb.Attributes.Add("onkeydown", 
    "if(event.which || event.keyCode){if ((event.which == 9)" +
    "|| (event.keyCode == 9)) {document.getElementById('"+
    tb.ClientID + "').selection = document.selection.createRange();" +
    tb.ClientID + ".selection.text = String.fromCharCode(9);return false;}} else {return true}; ");
}

Fonte: http://www.beansoftware.com/ASP.NET-Tutorials/Access-Tab-Key.aspx


0

o usando ahk per inserire 4 * spazio nell'editor:

^Right::
tabspace:="    "
send,%tabspace%    
return 

puoi vedere la spiegazione dei dettagli del codice nel codice ahk

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.