Eingabe des Tabulatorzeichens in Textfelder des Browsers


89

In den meisten Fällen drücke ich die TabTaste , wenn ich Text im Textfeld einer Webseite formatieren möchte .

Leider wird dabei nicht das Tabulatorzeichen eingefügt, sondern das Steuerelement zum nächsten Formularelement verschoben (z. B. zu einer Schaltfläche oder einem Kontrollkästchen).

Gibt es für Browser wie Firefox / IE eine Möglichkeit, das Formatierungsverhalten einer Registerkarte in einem Textfeld durch Eingabe einer Tastenkombination zu ermitteln?

Antworten:


10

Tabinta ist ein Firefox-Add-On, mit dem Sie dies tun können.


4
Irgendeine Lösung für Chrome?
Sorin

2
@ SorinSbarnea: Siehe meine Antwort
Janus Troelsen

Es ist nicht mehr mit Firefox kompatibel.
rory.ap

Dies ist ein Plugin, das in Firefox 64 funktioniert
Stefan_Fairphone

Dieses Plugin existiert nicht mehr (ohne Fehler der Antwort ist es fast ein Jahrzehnt her, seit die Frage beantwortet wurde und Firefox sich stark verändert hat).
15.

63

In Windows können Sie Alt+ drücken 09. Dies funktioniert nur mit den Zifferntasten des Ziffernblocks. (Lassen AltSie die Taste los, nachdem Sie die letzte Zifferntaste gedrückt haben.)


3
Stellen Sie sicher, dass Sie die NumPad-Tasten verwenden
CatamountJack

@ Chris: Wenn ich genau diesen Anweisungen folge, wird kein Tabulatorzeichen eingefügt, sondern die Tabulatortaste verwendet. Haben Sie dies in einem Webbrowser versucht?
Casebash

@Casebash Funktioniert in genau diesem Kommentarfenster in Chrome unter Windows 7 x64.
Chris

2
Nur wenn Sie Windows und eine Tastatur mit einem Nummernblock haben.
Mechanische Schnecke

1
... und wenn Sie Chrome verwenden. FF sieht es wie die Tabulatortaste, IE scheint nichts zu tun. Nochmals +1 für die Erinnerung an diesen einfachen alten Hack :)
Halil Özgür

50

Linux und andere POSIX-Systeme (außer Mac OS):

So geben Sie Tabulatoren in GTK + -Anwendungen (wie Firefox oder Chrome) ein:

  1. Ctrl+ Shift+U

  2. Art 9

  3. Drücken Sie SpaceoderEnter

Quelle: Wikipedia: Unicode-Eingabe


Es funktioniert, ist jedoch nicht nützlich, um mehrere Zeilen gleichzeitig einzurücken.
MYGz

13

In Safari und Firefox unter Mac OS X können Sie drücken ControlOptionTab, um eine Registerkarte in das Textfeld einzufügen, das Sie gerade bearbeiten.


7
Sieht so aus, als würde dies in Chrome 50 auf El Cap nicht funktionieren
jcollum

1
Noch auf Firefox 53 auf Sierra.
Jason R. Coombs

1
@ JasonR.Coombs Funktioniert immer noch in Safari, daher kann man davon ausgehen, dass sich in Firefox in den vier Jahren, seit ich diese Antwort geschrieben habe, etwas geändert hat.
Daniel Beck

9

Öffnen Sie den Editor oder einen ähnlichen Texteditor und starten Sie ein neues leeres Dokument. Typ Tab. Kopieren Sie Ihr Tabulatorzeichen in die Zwischenablage. (Unter Windows tun dies Ctrl+ A, Ctrl+ C).

Wechseln Sie nun zurück in den Textbereich Ihres Browsers. Positionieren Sie den Cursor an der gewünschten Stelle und fügen Sie das Tabulatorzeichen ein. ( Ctrl+ Vunter Windows).

Voila, fertig!


1
Ciro, ist es kaputt für normale Textfelder und Texteingabefelder oder nur für "inhaltsbearbeitbare" Elemente? Denn wenn es nur ein Problem für "contenteditable" ist, hat es möglicherweise keine Auswirkungen auf so viele Personen (z. B. das OP) ...
Doin

2
Dies war die einfachste Lösung, es sei denn, Sie müssen dies häufig tun.
jcollum

8

Es gibt ein Chrome-Plugin namens Textarea Code Formatter .

Hiermit können Sie Tabulatoren in Textfelder im Chrome-Browser einfügen. Sie können auch mehrere Zeilen markieren und Tabulatoren vor jeder ausgewählten Zeile einfügen.

Ein Problem ist jedoch, dass Sie häufig das Standardverhalten beim Einfügen von Registerkarten wünschen. Wenn Sie mit der Tabulatortaste zwischen den Feldern wechseln, können Sie in den Optionen standardmäßig "Deaktiviert" auswählen.


4

Wenn es Ihre Site ist:

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

jQuery(document).ready(function () {

     $("textarea").tabby();

});

Laden Sie zuerst jQuery und das Plugin, dann können Sie einen Tabulator und einen Tabulator erstellen und die Umschalttaste + Tabulator sozusagen auf "Untab" setzen.

Für die browserweite Unterstützung müssen Sie eine Erweiterung, ein UserScript, ein Plugin usw. verwenden, z . B . : 46704 für Greasemonkey .


Der Link ist tot. Was ist mit all dem jQuery Zeug. Es muss eine Möglichkeit geben, Tabs mit einfachem JavaScript zu akzeptieren. Das jQuery-Plugin ist immer gut für eine bereits implementierte Lösung, aber es ist nicht wirklich die Lösung.
Triynko

Versuchen Sie diesen Chef: stackoverflow.com/a/13130
Grizly

1

Der große Vorteil von Tabinta in Firefox ist, dass Sie das Tabulatorzeichen einem anderen Hotkey zuordnen können, da Sie das Standardverhalten der Tabulatortaste im Browser wirklich nicht verlieren möchten.

Mit dem Internet Explorer haben Sie keine Lösung für Browsererweiterungen, die mir bekannt sind. Hier besteht die einzige Möglichkeit darin, das Tabulatorzeichen in der Zwischenablage zu belassen, indem es zuvor aus einem anderen Programm wie dem Editor kopiert wurde.

Für Javascript-Lösungen ist der Name des Textfelds erforderlich, in dem sie ausgeführt werden. Dies ist also alles andere als ideal oder praktisch. Alt-Tastenkombinationen unter beiden Browsern führen zwar immer noch das normale Tastendruckereignis für Tabulatorzeichen aus, funktionieren also auch nicht.


1

Ich habe ein bisschen mit AutoHotkey rumgespielt, um diese Fähigkeit zu erlangen, und die einzige "kugelsichere" Lösung, die ich gefunden habe, besteht darin , das Tabulatorzeichen selbst einzufügen (nicht zu senden).

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

Es stellt sich heraus, dass diese AHK-Bindung sogar in Texteditoren nützlich ist, die den zusätzlichen TAB-Tastendruck verarbeiten. z.B. IDE für die Verwendung von Autoindent-by-Spaces konfiguriert.




0

Um die Tabulatortaste in ein Textfeld einzugeben, können Sie ein Skript wie das folgende verwenden (das Textfeld, das Tabulatortasten akzeptiert, heißt 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}; ");

Um eine harte Codierung zu vermeiden, können Sie diesen Code auch in eine Funktion mit dem Namen einfügen EnableTabType. Die Funktion hat nur einen Parameter, der angibt, welche TextBoxSteuerelemente Sie zum Eingeben von Tabulatorzeichen benötigen.

[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}; ");
}

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


0

oder mit ahk 4 * Leerzeichen in den Editor einfügen:

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

Sie können die Erklärung der Codedetails im ahk-Code sehen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.