Text in Textfeld an Cursorposition einfügen (Javascript)
Ich würde gerne eine einfache Funktion zum einfügen von text in einen text-Bereich, an der der Benutzer die cursor-position. Es muss eine saubere Funktion. Nur die Grundlagen. Ich kann herausfinden, die Ruhe.
InformationsquelleAutor der Frage JoshMWilliams | 2012-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Rab
Dieses snippet könnte Ihnen helfen, es in ein paar Zeilen jQuery 1.9+: http://jsfiddle.net/4MBUG/2/
InformationsquelleAutor der Antwort Adriano Alves
Gründen der ordnungsgemäßen Javascript
InformationsquelleAutor der Antwort Erik Aigner
Einer reinen JS-änderungen von Erik Pukinskis' Antwort:
Wenn Sie möchten, ändern Sie den Wert des aktuell ausgewählten text, während Sie mit der Eingabe in das gleiche Feld (für eine AutoVervollständigen-oder ähnlicher Effekt), pass
document.activeElement
als ersten parameter.Es ist nicht der eleganteste Weg, dies zu tun, aber es ist ziemlich einfach.
InformationsquelleAutor der Antwort Jayant Bhawal
Ich mag einfache javascript, und normalerweise habe ich jQuery um. Hier ist, was ich kam mit, auf der Grundlage mparkuk ist:
Hier ist eine demo: http://codepen.io/erikpukinskis/pen/EjaaMY?editors=101
InformationsquelleAutor der Antwort Erik Pukinskis
Rab Antwort funktioniert Super, aber nicht für Microsoft Rand, so dass ich fügte eine kleine Anpassung für den Rand als auch:
https://jsfiddle.net/et9borp4/
InformationsquelleAutor der Antwort Snorvarg
Wenn der Benutzer nicht berühren Sie die Eingabe nach text eingefügt wird, der 'input' - Ereignis wird nie ausgelöst, und das value-Attribut wird nicht die änderung wider. Deshalb ist es wichtig, trigger-input-event nach programmgesteuert einfügen von text. Die Fokussierung des Feldes ist nicht genug.
Folgende ist eine Kopie des Snorvarg Antwort mit einem trigger-Eingang trigger-Ende:
Kredit plainjs.com für die triggerEvent Funktion
Mehr über das oninput-event bei w3schools.com
Entdeckte ich diese beim erstellen eines emoji-picker für einen chat. Wenn die Benutzer wählen Sie einfach ein paar emojis und drücken Sie die "senden" - Taste, das Eingabefeld wird nicht berührt durch den Benutzer. Bei der überprüfung der Wert-Attribut es wurde immer leerer, obwohl die emoji eingefügt unicodes wurde sichtbar in das Eingabefeld ein. Stellt sich heraus, dass, wenn der Benutzer nicht berühren Sie das Feld der 'input' - Ereignis nie ausgelöst und die Lösung war, um es zu lösen, wie diese. Es dauerte eine Weile, bis dieses heraus... hoffe, es wird jemand retten einige Zeit.
InformationsquelleAutor der Antwort Jette
Geändert, um getElementById(myField)
InformationsquelleAutor der Antwort tekagami
Posting geändert-Funktion für eigene Referenz. Dieses Beispiel fügt ein ausgewähltes Element aus
<select>
- Objekt und setzt den Cursor zwischen die tags:InformationsquelleAutor der Antwort Alexiy
InformationsquelleAutor der Antwort zaarour