聚合物焦点()在<paper-input>或<core-input>元素</core-input> </paper-input>上

时间:2014-06-30 18:28:08

标签: javascript polymer

有没有办法集中核心输入或纸张输入元素?

我想要实现的是:将光标设置为输入元素,以便用户可以开始输入。

这样他在写作之前不会被迫点击元素。

5 个答案:

答案 0 :(得分:7)

core-input缺少focus()/blur() API,这本质上是一个错误。

现在你可以这样做:

<reference to a core/paper-input>.$.input.focus();

答案 1 :(得分:7)

核心输入现在有一个.focus()方法,它委托给内部focus()

来自core-input.html代码:

focus: function() {
    this.$.input.focus();
  }

这意味着在您自己的代码中,您需要像下面这样调用它:

elem[0].focus()

就我个人而言,我从focus致电timeout。在这种情况下,bind需要core-input才能正确使用this

$timeout(elem[0].focus.bind(elem[0]));

答案 2 :(得分:2)

.focusAction();以更好的方式工作,如果启用,浮动标题将正确反应。

答案 3 :(得分:0)

对于那些使用聚合物1.0的人(在发布时不是OP)

对于第一个纸张输入,您可以设置焦点:

Carbon::now()

您还可以按ID选择特定的纸张输入:

        $('paper-input input').first().focus();

答案 4 :(得分:0)

对于Polymer 2.0使用

this。$。id-of-the-Element.focus();

所以如果你的元素像
<paper-input id="myInputElement" type="number" name="myInputElement"> </paper-input>

那你会做
this.$.myInputElement.focus();