Polymer 1.0 — автофокусировка по текстовой области бумаги, даже если для автофокуса установлено значение false

У меня есть бумажная текстовая область внутри ящика. Когда я перехожу на страницу, текстовое поле бумаги автоматически фокусируется, что открывает ящик. Я пытался избавиться от фокуса, используя autofocus="false" и autofocus="off", но ни один из них не сработал. Любая помощь будет оценена по достоинству.

<paper-textarea id="descriptionInput" label="Description" invalid="{{descriptionError}}" error-message="please enter a valid description" value="{{description}}" autofocus="false"></paper-textarea>

Обновление. Другой способ сделать это может заключаться в программном удалении фокуса, но я пробовал this.$.descriptionInput.blur() внутри прикрепленной функции, и он тоже не работает.


person user3562299    schedule 06.07.2015    source источник


Ответы (2)


Это связано с тем, что для свойства автофокуса iron-autogrow-textarea по умолчанию установлено значение «выключено». Атрибут autofocus активен, если он существует, единственный способ отключить его — удалить его целиком (т. е. autofocus="disabled" или autofocus="off" по-прежнему будет автоматически фокусировать тег).

Я создал запрос на вытягивание, и, надеюсь, это будет исправлено в будущем. версии.

В настоящее время вы можете создать отключенный тег ввода перед текстовой областью с атрибутом автофокуса и скрытой видимостью, и это предотвратит получение фокуса текстовой областью.

<input disabled autofocus style="visibilty: hidden">
person Kevin Ashcraft    schedule 07.07.2015

У меня возникла проблема с ответом Кевина Эшкрафта, в Safari он не работал.

Вот еще вариант, так как проблема в нем из-за наличия атрибута автофокуса, то нужно убрать этот атрибут. Итак, у меня есть полимерный элемент, и там у меня есть следующее

ready:function(){
    var list = Polymer.dom(this.root).querySelectorAll('iron-autogrow-textarea');
    list.forEach(function (e) {
        e.textarea.removeAttribute("autofocus")
    });
}

Это сканирует мой диалог, находит все iron-autogrow-textarea и удаляет из них атрибут... вы можете изменить селектор, чтобы получить только те, которые вам нужны.

Обновите, это было исправлено в последней версии. Следует отметить, что это было исправлено в последней версии https://github.com/PolymerElements/iron-autogrow-textarea/releases/tag/v1.0.8

person Ade    schedule 05.11.2015