Polymer 如何捕捉聚合物1.0纸张输入中按下enter键

Polymer 如何捕捉聚合物1.0纸张输入中按下enter键,polymer,Polymer,在Polymer 1.0纸张输入中按enter键时如何捕捉 我尝试使用通过铁输入公开的绑定值更改,但它似乎只与事件参数中的字母区分,其中e.detail在所有其他键(如enter、tab、,等等。我会将一个keydown事件绑定到调用函数的输入。在那里你可以找到哪个键被按下了。例如: <dom-module id="test-element"> <template> <!-- add keydown listener to paper inp

在Polymer 1.0
纸张输入中按enter键时如何捕捉


我尝试使用通过
铁输入公开的
绑定值更改
,但它似乎只与事件参数中的字母区分,其中
e.detail
在所有其他键(如enter、tab、,等等。

我会将一个
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>

聚合物({
是:“测试元素”,
CheckForCenter:函数(e){
//检查是否按下了“回车”键
如果(如keyCode===13){
//按回车键!
}
}
});

另一种可能性是使用
iron-a11y键。这样,您就可以声明性地定义当用户按下
enter
键时发生了什么,而焦点是
纸张输入
元素

示例(从聚合物目录复制):


希望有帮助。有关更多信息,请参阅。

Ah,这只是正常的输入标记事件触发。。。我不知道有这些。真棒:-)。。。thanksuse e.它不是不推荐使用的keyCode属性,而是使用e.key属性的更好选项,它返回一个更可读的值。在这种情况下,它将返回“回车”。这种方法是否有实际的好处,使其优于公认的答案?@BennyPowers我不知道除了中提到的好处以外的其他具体好处(也从iron-a11y-keys组件页面链接)
<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>
...
properties: {
  userInput: {
    type: String,
    notify: true,
  },
  target: {
    type: Object,
    value: function() {
      return this.$.input;
    }
  },
},
onEnter: function() {
  console.log(this.userInput);
}
...