Keypress in jQuery: Drücken Sie TAB in TEXTAREA (wenn Sie einen vorhandenen Text bearbeiten)

7

Ich möchte TAB-Zeichen in einem TEXTAREA einfügen, wie folgt:

%Vor%

Ich kann vor / nach den vorhandenen TEXTAREA-Text einfügen - und ich kann / den gesamten Text im TEXTAREA ersetzen - aber noch nicht innerhalb den vorhandenen TEXTAREA-Text (durch den Cursor) auf einfache Weise.

%Vor%

Es gibt ein "tabs in textarea" -Plug-in für jQuery ( "Tabby" ) - aber es ist 254-Code Zeilen - Ich habe auf ein paar Zeilen Code gehofft.

Ein paar Links, die ich studiert habe: (wiederum würde ich weniger Codezeilen bevorzugen).

Ссылка
Ссылка
Ссылка

Bitte beraten. Danke.

    
Kristoffer Bohmann 15.11.2009, 20:59
quelle

4 Antworten

13

Ich habe eine einfache AJAX-IDE für mich selbst entwickelt, damit ich PHP-Schnipsel schnell testen kann.

Ich erinnere mich, dass ich über das gleiche Problem gestolpert bin, hier habe ich es gelöst:

%Vor%

#input ist die ID des Textfelds.

Der Code gehört nicht ganz mir, ich habe ihn irgendwo auf Google gefunden.

Ich habe es nur auf FF 3.5 und IE7 getestet. Es funktioniert leider nicht auf IE7.

    
Waleed Amjad 15.11.2009, 21:24
quelle
5

Leider ist es nicht so einfach, den Text in textarea-Elementen zu manipulieren. Der Grund, dass Tabby größer ist als diese einfachen Snippets ist, dass es besser funktioniert. Es hat bessere Cross-Browser-Kompatibilität und behandelt Dinge wie Tab-Selektionen.

Wenn es verkleinert wird, sind es nur etwa 5k. Ich würde vorschlagen, es zu benutzen. Sie müssen diese Kantenfälle entweder selbst entdecken oder beheben oder wissen vielleicht nichts davon, wenn Benutzer sie nicht melden.

    
Dave Ward 15.11.2009 21:15
quelle
1

Ja, der Umgang mit Eingabefeld-Auswahlmöglichkeiten in den verschiedenen Browsern ist ein Ärgernis, besonders da es im IE einige Methoden gibt, die aussehen wie sie funktionieren sollten, aber eigentlich nicht. (Insbesondere kombiniere ich mit setEndPoint und dann mit length , was OK ist, bis die Auswahl in Newlines beginnt oder endet.)

Hier sind ein paar Utility-Funktionen, die ich benutze, um mit Eingabe-Auswahlen umzugehen. Sie gibt den Wert der Eingangsaufteilung in Bits vor, innerhalb und nach der Auswahl zurück (wobei die Auswahl als leere Zeichenfolge an der Eingabefokusposition zählt, wenn es sich nicht um eine Auswahl handelt). Dies macht es ziemlich einfach, Inhalt an der Stelle zu ersetzen und einzufügen, die Sie wollen, während Sie sich um das IE CRLF-Problem kümmern.

(Es kann eine jQuery geben, die so etwas tut, aber ich muss noch eins finden.)

%Vor%     
bobince 15.11.2009 22:28
quelle
0

Übrigens, siehe auch:
Ссылка

    
Kristoffer Bohmann 16.11.2009 05:07
quelle

Tags und Links