Как вы управляете фокусом и положением курсора в maquette js?

Я работаю над небольшим приложением с макетом JS. Эта библиотека использует виртуальную реализацию DOM. После некоторого пользовательского события, которое вызывает изменение в хранилище данных, оно вызывает (частичное) повторное рендеринг, включая создание некоторых новых узлов DOM.

Как я могу убедиться, что один из новых узлов, который является contenteditable div, получает фокус после его перерисовки?

Аналогично: как сохранить позицию курсора в ранее сфокусированном элементе?

1 ответ

Решение

Вы можете использовать afterCreate обратный вызов, который предоставляет макет, чтобы получить Элемент после его создания. Ты можешь позвонить .focus() на нем или читать / писать его selectionStart, Удачи!

PS: Если вы также хотите, чтобы фокус работал на iOS, вам нужно позвонить projector.renderNow() во время события, которое вызывает фокус.

Другие вопросы по тегам