如何在 Polymer 1.0 中 autofocus/autoclick 纸张输入?

How to autofocus/autoclick paper-input in polymer 1.0?

我能够使用 javascript 并调用 .click() 或 .focus() 以使纸张输入准备好输入 polymer 0.5.6。

1.0好像失去了这个能力。有没有办法让输入准备好使用 JS 或使用新的 1.0 Polymer API?

javascript:

var textbox = document.getElementById("myInputBox");
textbox.focus();
tetbox.scrollIntoView();

如果这不起作用,那么您可能会在稍后的实施中将重点放在其他方面?

根据 https://elements.polymer-project.org/elements/paper-input?active=Polymer.PaperInputBehavior 上的文档,这应该有效:

<paper-input autofocus></paper-input>

作为 firefox 用户,我希望它能正常工作(就像在 Chrome 中一样):

    <paper-input autofocus></paper-input>

但没有骰子。所以我尝试了:

    var textbox = document.getElementById("myInputBox");
    textbox.focus();

将 "TypeError: textbox is null" 记录到控制台...我猜是因为 shady DOM 在 not-so-shady DOM 之后加载。

所以看起来 autofocus 标签的功能取决于运行应用程序的浏览器。希望这会随着未来的版本而改变。同时,更好的文档会更好。

如果您需要通过代码设置焦点(可能响应用户操作),这两个代码片段可能会有所帮助。

要将焦点设置到第一个 paper-input,您可以使用此方法:

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

您还可以通过 ID select 获得特定 paper-input:

$('#myValue input').focus();