2015-07-06 11 views
11

में उस प्रविष्टि को कैसे दबाया जा सकता है मैं दर्ज कर सकता हूं पॉलिमर 1.0 paper-input में दबाया गया है?पॉलिमर 1.0 पेपर-इनपुट

मुझे लगता है कि iron-input के माध्यम से सामने आ रहा है on-bind-value-changed साथ की कोशिश की, लेकिन ऐसा लगता है कि यह केवल घटना तर्क जहां e.detailnull सभी अन्य कुंजी पर है में पत्र के साथ अलग, इस तरह के रूप दर्ज करें, टैब, आदि

उत्तर

21

मैं एक फ़ंक्शन नामक इनपुट में 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> 
+0

आह, यह केवल सामान्य इनपुट टैग ईवेंट फायरिंग है ... यह नहीं पता था कि ये उपलब्ध थे। बहुत बढ़िया :-) ... धन्यवाद –

+0

बहिष्कृत कुंजीकोड संपत्ति के बजाय e.which का उपयोग करें – TecHunter

+1

e.key प्रॉपर्टी का उपयोग करने के लिए बेहतर विकल्प है, यह एक और अधिक पठनीय मूल्य देता है। इस मामले में यह 'एंटर' वापस कर देगा। – afmeva

8

एक और संभावना iron-a11y-keys का उपयोग करना होगा। इस तरह, आप घोषणा कर सकते हैं कि क्या हो रहा है जब उपयोगकर्ता enter कुंजी दबाता है जबकि फोकस paper-input तत्व पर है।

उदाहरण (पॉलिमर सूची से नकल):

<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> 

उसके बाद, आप, paper-input तत्व को a11y तत्व की target संपत्ति बाध्य करने के लिए तो जैसे होगा:

... 
properties: { 
    userInput: { 
    type: String, 
    notify: true, 
    }, 
    target: { 
    type: Object, 
    value: function() { 
     return this.$.input; 
    } 
    }, 
}, 
onEnter: function() { 
    console.log(this.userInput); 
} 
... 

उम्मीद है की वो मदद करदे। अधिक जानकारी के लिए iron-a11y-keys देखें।

+0

क्या इस दृष्टिकोण के लिए वास्तविक ए 11 लाभ हैं जो इसे स्वीकृत उत्तर पर पसंद करेंगे? –

+1

@ बेनीपावर मुझे https://www.w3.org/TR/wai-aria-practices/#kbd_general_binding में उल्लिखित विशिष्ट लाभों के बारे में पता नहीं है (लोहा-ए 11y-keys घटक पृष्ठ से भी जुड़ा हुआ है) – Christof

संबंधित मुद्दे