Как вы управляете фокусом и положением курсора в maquette js?
Я работаю над небольшим приложением с макетом JS. Эта библиотека использует виртуальную реализацию DOM. После некоторого пользовательского события, которое вызывает изменение в хранилище данных, оно вызывает (частичное) повторное рендеринг, включая создание некоторых новых узлов DOM.
Как я могу убедиться, что один из новых узлов, который является contenteditable div, получает фокус после его перерисовки?
Аналогично: как сохранить позицию курсора в ранее сфокусированном элементе?
1 ответ
Вы можете использовать afterCreate
обратный вызов, который предоставляет макет, чтобы получить Элемент после его создания. Ты можешь позвонить .focus()
на нем или читать / писать его selectionStart
, Удачи!
PS: Если вы также хотите, чтобы фокус работал на iOS, вам нужно позвонить projector.renderNow()
во время события, которое вызывает фокус.