如何enter在Polymer 1.0中按下时怎么抓paper-input?
我试图与on-bind-value-changed正在通过的暴露iron-input,但它似乎只与事件的说法,其中的字母区分e.detail是null在所有其他的键,如enter,tab等.
Ben*_*mas 22
我会将一个keydown事件绑定到调用函数的输入.在那里你可以找到按下了哪个键.例如:
<dom-module id="test-element">
<template>
<!-- add keydown listener to paper input -->
<paper-input label="Input label" on-keydown="checkForEnter"></paper-input>
</template>
<script>
Polymer({
is: "test-element",
checkForEnter: function (e) {
// check if 'enter' was pressed
if (e.keyCode === 13) {
// enter pressed!
}
}
});
</script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
Chr*_*tof 12
另一种可能性是使用iron-a11y-keys.这样,您可以声明性地定义当用户enter在焦点位于paper-input元素上时按下键时发生的情况.
示例(从Polymer目录中复制):
<iron-a11y-keys id="a11y" target="[[target]]" keys="enter"
on-keys-pressed="onEnter"></iron-a11y-keys>
<paper-input id="input" placeholder="Type something. Press enter. Check console." value="{{userInput::input}}"></paper-input>
Run Code Online (Sandbox Code Playgroud)
之后,您必须将元素的target属性绑定a11y到paper-input元素,如下所示:
...
properties: {
userInput: {
type: String,
notify: true,
},
target: {
type: Object,
value: function() {
return this.$.input;
}
},
},
onEnter: function() {
console.log(this.userInput);
}
...
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.有关更多信息,请参阅iron-a11y-keys.
| 归档时间: |
|
| 查看次数: |
9529 次 |
| 最近记录: |