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

wor*_*hit 7 javascript polymer

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

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

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

Sco*_*les 7

core-input缺少focus()/blur()API,这本质上是一个bug.

现在你可以这样做:

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


ami*_*mit 7

core-input现在有一个.focus()委托给内部的方法focus()

core-input.html代码:

focus: function() {
    this.$.input.focus();
  }
Run Code Online (Sandbox Code Playgroud)

这意味着在您自己的代码中,您需要调用它,如下所示:

elem[0].focus()
Run Code Online (Sandbox Code Playgroud)

在我自己的情况下,我打电话focustimeout.在这种情况下,有bind必要core-input正确使用this:

$timeout(elem[0].focus.bind(elem[0]));
Run Code Online (Sandbox Code Playgroud)

  • 所有`elem [0] .focus.bind(elem [0])`都会生成一个函数(立即被丢弃); 它实际上并没有调用`focus()`.你的意思是键入别的东西吗? (2认同)