检测iOS 8 Quicktype建议粘贴

时间:2014-10-20 21:49:59

标签: ios xcode uiwebview ios8 contenteditable

对于富文本编辑,我有一个UIWebView,我在其中加载了一些带有contenteditable div的本地html内容。 当用户按下键盘上的某些键时,我想检测该div中的内容更改,相应地调整其大小并正确滚动以将光标定位在键盘上方。

我可以使用onkeyup事件处理程序执行此操作:

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

在iOS 8中,键盘现在具有Quicktype面板,其中包含一些建议字样,可快速粘贴到可编辑区域。如何检测将建议文本粘贴到div中的操作?

onkeyup这样的事件处理程序没有帮助,因为文本是在不按键盘按钮的情况下粘贴的,onpaste事件未被调用。 我还尝试实施MutationObserver来检测粘贴内容时的DOM更改 - 也没有帮助。

我努力寻找有效的解决方案。任何建议表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

在Mobile Safari中,iOS 8 Quicktype字会触发两个(可能相同的?)input个事件。

在开发者控制台中尝试此操作:

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

在UIWebView中我还没试过......