通过单选按钮设置纸张输入的焦点
Set focus for paper-input via radio button
在 Polymer (1.0) 中,当(例如)单选按钮 'radio1' 被选中时,如何设置熨斗输入的焦点。
<div>
<div>Title:</div>
<paper-radio-group>
<paper-radio-button name="radio1">Radio1Label</paper-radio-button>
<paper-radio-button name="radio2">Radio2Label</paper-radio-button>
</paper-radio-group>
<paper-input-container>
<input is="iron-input">
</paper-input-container>
</div>
您需要将点击 event 绑定到 radio1
:
<paper-radio-button name="radio1" on-click="_setInputFocus">Radio1Label</paper-radio-button>
然后定义函数_setInputFocus
使其selects the input and sets the focus到它:
<script>
Polymer({
is: 'the-name-of-your-element',
_setInputFocus: function () {
this.$$("input").focus();
}
});
</script>
编辑: 现在我们希望在用户选择单选按钮之前禁用输入。所以我们给 iron-input
disabled
属性:
<paper-input-container>
<input is="iron-input" disabled>
</paper-input-container>
然后我们更改 JavaScript 函数,以便我们删除 disabled
属性并设置输入焦点:
<script>
Polymer({
is: "focus-test",
_setInputFocus: function () {
var inputElement = this.$$("input"); // grab the element
inputElement.toggleAttribute("disabled", false); // remove the disabled attribute
inputElement.focus(); // set the focus to this input
}
});
</script>
您也可以使用 <paper-input>
代替 <paper-input-container>
元素,然后使用
setTimeout(function() {
this.$.tabname.inputElement.focus()
}.bind(this), 200);
在你的函数中。 (设置超时有时是必要的,因为如果另一个元素有焦点并且即将关闭(例如铁下拉)那么你必须等待它完成才能将焦点放在输入上)
在 Polymer (1.0) 中,当(例如)单选按钮 'radio1' 被选中时,如何设置熨斗输入的焦点。
<div>
<div>Title:</div>
<paper-radio-group>
<paper-radio-button name="radio1">Radio1Label</paper-radio-button>
<paper-radio-button name="radio2">Radio2Label</paper-radio-button>
</paper-radio-group>
<paper-input-container>
<input is="iron-input">
</paper-input-container>
</div>
您需要将点击 event 绑定到 radio1
:
<paper-radio-button name="radio1" on-click="_setInputFocus">Radio1Label</paper-radio-button>
然后定义函数_setInputFocus
使其selects the input and sets the focus到它:
<script>
Polymer({
is: 'the-name-of-your-element',
_setInputFocus: function () {
this.$$("input").focus();
}
});
</script>
编辑: 现在我们希望在用户选择单选按钮之前禁用输入。所以我们给 iron-input
disabled
属性:
<paper-input-container>
<input is="iron-input" disabled>
</paper-input-container>
然后我们更改 JavaScript 函数,以便我们删除 disabled
属性并设置输入焦点:
<script>
Polymer({
is: "focus-test",
_setInputFocus: function () {
var inputElement = this.$$("input"); // grab the element
inputElement.toggleAttribute("disabled", false); // remove the disabled attribute
inputElement.focus(); // set the focus to this input
}
});
</script>
您也可以使用 <paper-input>
代替 <paper-input-container>
元素,然后使用
setTimeout(function() {
this.$.tabname.inputElement.focus()
}.bind(this), 200);
在你的函数中。 (设置超时有时是必要的,因为如果另一个元素有焦点并且即将关闭(例如铁下拉)那么你必须等待它完成才能将焦点放在输入上)