activateFocus
используется с MDCTextFieldFoundation
при создании компонента для каркаса. В вашем случае похоже, что вы пытаетесь программно сфокусировать текстовое поле MDC, поэтому вам просто нужно выбрать элемент input
(а не оболочку div
) и использовать focus()
.
РЕДАКТИРОВАТЬ: MDC с тех пор добавил метод focus
, но на момент этого редактирования он, кажется, не работает в большинстве браузеров, включая Chrome и Firefox. Кроме того, описанный выше метод больше не работает (на момент первоначального ответа он работал только в Chrome). Вы можете получить доступ к методу activateFocus
через его свойство foundation_
после создания экземпляра компонента, но метод activateFocus
активирует только стили для состояния фокуса компонента MDC без фактической установки фокуса, положения курсора и т. Д. На input
элемент. Фрагмент отредактирован для демонстрации.
Кроме того, если вы хотите, чтобы TextField автоматически фокусировался на загрузке страницы, то вы можете добавить атрибут autofocus
к элементу input
в вашем html.