Как сфокусировать ввод бумаги с помощью Polymer 1.0?

Этот вопрос является продолжением этого: polymer focus () на элементе ‹paper-input› или ‹core-input›

Как сфокусироваться на элементе paper-input с помощью Javascript API?

(с использованием полимера 1.0)


person vdegenne    schedule 12.06.2015    source источник


Ответы (2)


Если у вас есть элемент:

<paper-input id="my-input" label="What's on your mind?"></paper-input>

paper-input — это оболочка для бизнес-логики и стиль более глубокого элемента input, доступ к которому можно получить с помощью:

document.getElementById('my-input').$.input

Чтобы сосредоточиться, просто напишите:

document.getElementById('my-input').$.input.focus();
person vdegenne    schedule 12.06.2015
comment
Спасибо, искал это! Однако для красоты вам следует использовать this.$.my-input.$.input.focus(). Кроме того, если вам случится сделать это одновременно с отображением paper-input, вы должны вызвать focus() внутри вызова setTimeout(function(){...}, 0}. - person Whyser; 28.10.2015
comment
к тому времени, когда я написал document.getElementById('my-input'), я использовал <paper-input> не внутри шаблона Polymer Element, поэтому - person vdegenne; 27.06.2017

<paper-input autofocus></paper-input> немедленно автоматически сфокусируется, или, если вы предпочитаете самостоятельно контролировать время в Javascript, вы можете использовать paperInput.$.input.focus().

person Zikes    schedule 12.06.2015
comment
спасибо, я не имел в виду автофокус, проверьте мой шизофренический ответ, это то, что я хотел сделать. - person vdegenne; 12.06.2015