2010-12-15 8 views
10

$(element)[0].selectionStart scheint nur für Textareas zu funktionieren. Gibt es eine Alternative für nicht textareasJquery: selectionStart für nicht textarea Elemente


Im Versuch, Strings innerhalb von DOM-Elementen in Tags zu umwickeln (fett, kursiv ...)



auch, wie kann ich die Verpackung rückgängig machen?

Antwort

9

Dies ist ein kniffliger Bereich. Sie benötigen das Objekt Selection und DOM Range. Allerdings macht IE das alles völlig anders als richtige Browser.

Das Einschließen der Auswahl in Tags ist im Allgemeinen auch nicht trivial: Sie müssen alle Textknoten in der Auswahl berücksichtigen.

Meine Rangy Bibliothek normalisiert die Auswahl/Range-API für IE und hat eine module to apply a CSS class to a selection, die Ihnen in gewissem Maße helfen kann. Ich plane auch, ein allgemeineres Modul zu schreiben, um andere Stile auf eine Auswahl/einen Bereich anzuwenden.

Entschuldigung für die schamlose Eigenwerbung, aber kurz, viel Code selbst zu schreiben, weiß ich nicht, was ich sonst vorschlagen soll.

+0

Vielen Dank für Ihre Antwort, ich muss mehr JavaScript String Manipulation lernen. – Zebra

Verwandte Themen