我遇到了一个与聚合物有关的奇怪问题。将paper-input
元素嵌套在paper-item
元素下方时,paper-input
将不会注册空格键。
示例:
<template>
<paper-item class="to-do-item">
<paper-checkbox active="{{done}}"></paper-checkbox>
<paper-input id="test1" value="Test1"></paper-input>
</paper-item>
<paper-input id="test2" value="Test2"></paper-input>
</template>
在此示例中,test1
和test2
都会输入,但我无法在test1
中输入空格,而我可以在test2
中输入空格。如果我复制并粘贴空格字符,它可以在任一输入中使用。离奇。有谁知道发生了什么事?
编辑:问题在设备和浏览器,桌面和移动设备上保持一致。
答案 0 :(得分:0)
paper-item元素实现两个行为:
Polymer.IronControlState
Polymer.IronButtonState
我认为空格键触摸事件不可用,如果需要,可以用铁项目元素替换纸质项目。
答案 1 :(得分:0)
根据github development issue,问题在于聚合物将空间解释为按钮点击,而不是作为输入。问题正在解决,但在此期间,评论IronButtonState行为是一项可行的工作。
behaviors: [
Polymer.IronControlState/*,
Polymer.IronButtonState*/
]
答案 2 :(得分:0)
此处介绍了另一种解决方法: https://github.com/PolymerElements/paper-item/issues/103
用户SPessall的想法是用一个空函数替换polymer-item的_spaceKeyDownHandler()函数的实现,这可以通过以下代码轻松完成:
ready: function(){
this.$$('paper-item')._spaceKeyDownHandler = function () {};
}