【发布时间】:2018-02-07 18:42:06
【问题描述】:
我正在使用 maquette js 开发一个小型应用程序。该库使用虚拟 DOM 实现。在某些触发数据存储更改的用户事件之后,它会导致(部分)重新渲染,包括创建一些新的 DOM 节点。
如何确保其中一个新节点(即内容可编辑的 div)在重新渲染后获得焦点?
同样:如何在先前聚焦的元素中保留光标位置?
【问题讨论】:
标签: javascript dom maquette
我正在使用 maquette js 开发一个小型应用程序。该库使用虚拟 DOM 实现。在某些触发数据存储更改的用户事件之后,它会导致(部分)重新渲染,包括创建一些新的 DOM 节点。
如何确保其中一个新节点(即内容可编辑的 div)在重新渲染后获得焦点?
同样:如何在先前聚焦的元素中保留光标位置?
【问题讨论】:
标签: javascript dom maquette
您可以使用 maquette 提供的 afterCreate 回调来获取创建后的元素。您可以在其上调用.focus() 或读/写其selectionStart。祝你好运!
PS:如果你也想让焦点在iOS上工作,你需要在触发焦点的事件期间调用projector.renderNow()。
【讨论】: