Polymer 1.0 - 即使自动对焦设置为false,纸张 - 文本区域也会自动对焦

时间:2015-07-06 15:29:17

标签: polymer polymer-1.0

我在抽屉里面有一张纸 - 文字区域。当我进入页面时,纸张文本区域自动对焦,打开抽屉。我试图通过尝试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>

更新:解决这个问题的另一种方法可能是以编程方式删除焦点,但我在附加函数内部尝试了这个。$ .indexInput.blur(),它也没有用。

2 个答案:

答案 0 :(得分:4)

这是由于iron-autogrow-textarea的自动对焦属性默认值设置为“off”。自动对焦属性如果存在则处于活动状态,禁用它的唯一方法是将它们全部一起删除(即autofocus =“disabled”或autofocus =“off”仍然会自动对焦标记)。

我已经创建了一个pull request,这有望在将来的版本中修复。

目前,您可以在textarea之前创建一个禁用的输入标记,并将自动对焦属性和可见性设置为隐藏,这样可以防止textarea获得焦点。

<input disabled autofocus style="visibilty: hidden">

答案 1 :(得分:0)

我在Kevin Ashcraft的回答中遇到了一个问题,在Safari上它没有用。

这是另一个选项,因为由于存在autofocus属性而导致问题,您需要删除该属性。所以我有聚合物元素,在那里我有以下

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

的最新版本中修复