2014-10-20 11 views
5

Für Rich-Text-Bearbeitung habe ich ein UIWebView, wo ich einen lokalen HTML-Inhalt mit einigen contenteditable div laden. Wenn der Benutzer einige Tasten auf der Tastatur drückt, möchte ich Inhaltsänderungen in diesem div erkennen, die Größe entsprechend ändern und einen Bildlauf durchführen, um den Cursor über der Tastatur zu positionieren.Detect iOS 8 QuickType-Vorschlag Paste

Ich bin in der Lage, dies mit onkeyup Event-Handler zu tun:

<div id="contents" onkeyup="keyup()" onpaste="paste()" contenteditable="true">...</div>

In iOS 8 Tastatur hat nun den Quicktype-Panel mit einigen Vorschlag Worten schnell in bearbeitbaren Bereich einfügen. Wie erkennt man die Aktion, den Vorschlagstext in div einzufügen?

Event-Handler wie onkeyup hilft nicht, wie der Text eingefügt wird, ohne die Tastatur zu drücken, onpaste Ereignis wird nicht aufgerufen. Ich habe auch versucht, MutationObserver zu implementieren, um DOM-Änderungen zu erkennen, wenn etwas eingefügt wird - hilft auch nicht.

Ich habe Mühe, die funktionierende Lösung zu finden. Jeder Rat wird geschätzt. Vielen Dank!

Antwort

2

In Mobile Safari die iOS 8 QuickType-Wörter feuern zwei (vielleicht identische?) input Ereignisse.

Versuchen Sie dies in der Entwicklerkonsole:

$('input[type=text]').on("input", console.log.bind(console, "input!")); 

In UIWebView habe ich nicht versucht ...