jQuery: Text an der Mausklickposition teilen

8

Ich versuche so etwas wie ein Textfeld zu programmieren, nur um es zu trainieren.

Ich habe ein div mit (benutzergeneriertem) Text drin:

%Vor%

Wenn ich (zB mit der linken Maustaste) zwischen die beiden "L" von "Hallo" klicke, würde ich das gerne sehen:

%Vor%

Wie erreiche ich das? Bis jetzt mache ich es mit ...

%Vor%

... aber natürlich fügt es einfach den Cursor am Ende des div hinzu.

Wie kann ich feststellen, wo genau der Benutzer geklickt hat, wo er den Cursor (oder was auch immer) hinzufügen soll, wo der Text geteilt werden soll?

Danke

Bearbeiten:

  • Ich möchte nicht contatteditable verwenden! Schau es dir einfach so an: Ich möchte eine Zeichenfolge an der Mausklick-Position teilen.

  • Ich weiß .append () ist nicht das, wonach ich suche! .append () war nur ein Platzhalter für eine spätere, bessere Funktion. DIESE Funktion, nach der ich gerade frage,

  • Ich verwende eine Schriftart mit fester Breite.

WcPc 06.09.2014, 14:06
quelle

2 Antworten

7

Das ist so nah wie möglich: DEMO

%Vor%

Ich hoffe, es ist nah genug! :)

HINWEIS:

Dieser Code wird unter der Annahme geschrieben, dass font-size ist 16px !

Ich fürchte, Sie müssen die font-size für weitere Erweiterungen berechnen.

    
Amin Jafari 06.09.2014, 14:50
quelle
0

Beachten Sie, gibt die erwarteten Ergebnisse bei Firefox nicht zurück; chrome gibt die erwarteten Ergebnisse zurück, obwohl sich der Cursor um 1 Zeichen nach links oder rechts bewegen kann, wenn die Maus nicht langsam freigegeben wird.

%Vor% %Vor% %Vor%

jsfiddle Ссылка

    
guest271314 07.09.2014 03:04
quelle

Tags und Links