2015-10-21 138 views
1

我遇到了一個與聚合物有關的奇怪問題。將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> 

在這個例子中,兩個test1test2將採取輸入,但我不能在test1輸入空格而我可以在test2輸入空格。如果我複製並粘貼一個空格字符,它可以在任何輸入中工作。離奇。任何人都知道發生了什麼事?

編輯:問題是跨設備和瀏覽器,桌面和移動設備的一致。

+0

您可以檢查github是否存在任何現有問題:https://github.com/PolymerElements/paper-item/issues。如果你沒有找到它,然後創建一個jsbin或其他東西,你可以在那裏發佈一個問題。 – Srik

+0

該問題正在等待https://github.com/PolymerElements/paper-item/issues/28。 –

回答

0

根據github development issue,問題在於聚合物將空間解釋爲按鈕單擊而不是輸入。這個問題正在研究中,但在此期間,評論IronButtonState行爲是一個可行的解決方案。

behaviors: [ 
    Polymer.IronControlState/*, 
    Polymer.IronButtonState*/ 
] 
0

紙項目元素實現兩個行爲:

  1. Polymer.IronControlState

  2. Polymer.IronButtonState

    ,我認爲使空格鍵觸摸事件不可用,可以更換如果你想的話,可以通過熨斗項目元素來製作紙件。

+0

沒有鐵器。 –

+0

對不起,我的意思是iron-list,事實上paper-item是一個非交互式的列表項,如文檔中所述,如果你想使用列表容器來佈局你的紙元素,可以使用iron-list –

0

沒有可用另一個解決辦法在此所說明: https://github.com/PolymerElements/paper-item/issues/103

用戶SPessall的思想是用空函數來代替聚合物項的_spaceKeyDownHandler(實施)函數,它可以很容易地通過此代碼完成:

ready: function(){ 
    this.$$('paper-item')._spaceKeyDownHandler = function() {}; 
}