我正在使用 maquette js 开发一个小型应用程序。该库使用虚拟 DOM 实现。在某些用户事件触发数据存储中的更改后,它会导致(部分)重新渲染,包括创建一些新的 DOM 节点。
如何确保新节点之一(即 contenteditable div)在重新渲染后获得焦点?
同样:如何在先前聚焦的元素中保留光标位置?
最佳答案
创建元素后,您可以使用 maquette 提供的 afterCreate
回调来获取元素。您可以对其调用 .focus()
或读取/写入其 selectionStart
。祝你好运!
PS:如果您也希望焦点在 iOS 上工作,则需要在触发焦点的事件期间调用 projector.renderNow()
。
关于javascript - 如何在 maquette js 中管理焦点和光标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45953827/