Polímero - Chaves A11y de Ferro

o <iron-a11y-keys> elemento é usado para processar comandos de teclado usando a interface crossbrowser.

o keysatributo indica por qual combinação de chaves o evento será disparado. Ele aceita teclas modificadoras, como Shift, Control, Alt, Meta e algumas teclas comuns do teclado, como az, 0-9, F1-F12, Page Up, Page Down, Seta para a esquerda, Seta para a direita, Home, End, Escape, Espaço, Tab e Enter.

Todas as chaves devem ser reduzidas e devem estar em minúsculas. Por exemplo, Seta para a direita é para a direita, Page Up é para pageup, Control é para ctrl, Escape é para esc, F5 é para f5, etc.

Exemplo

Para usar o elemento iron-a11y-keys, navegue até a pasta do projeto no prompt de comando e use o seguinte comando.

bower install PolymerElements/iron-a11y-keys --save

O comando acima instala o elemento iron-a11y-keys em bower_componentspasta. Em seguida, importe o arquivo iron-a11y-keys em seu index.html usando o seguinte comando.

<link rel = "import" href = "/bower_components/iron-a11y-keys/iron-a11y-keys.html">

O exemplo a seguir demonstra o uso do elemento iron-a11y-keys.

<!DOCTYPE html>
<html>
   <head>
      <base href = "http://polygit.org/components/">
      <meta name = "viewport" content = "width = device-width">
      <title>iron-a11y-keys</title>
      <link rel = "import" href = "polymer/polymer.html">
      <link rel = "import" href = "iron-a11y-keys/iron-a11y-keys.html">
      <link rel = "import" href = "paper-input/paper-input.html">
   </head>
    
   <body>
      <demo-keys></demo-keys>
      <dom-module id = "demo-keys">
        
         <template>
            <iron-a11y-keys target = "[[_target]]"
               keys = "shift+enter enter esc pageup pagedown up down left right space" 
               on-keys-pressed = "_onKeyPress"></iron-a11y-keys>
             
            <h4>Press any of the below keys and check console.</h4>
            <p>shift + enter, enter, esc, pageup, pagedown, up, down, left, right,
               space.</p>
               
            <paper-input type = "text" value = "{{_value::input}}" id = "input" />
         </template>
           
         <script>
            Polymer ({
               is: 'demo-keys', properties: {
                  _value: {
                     type: String
                  },
                  _target: {
                     value: function() {
                        return this.$.input;
                     }
                  }
               },
               _onKeyPress: function(e) {
                  e.detail.keyboardEvent.preventDefault();
                  console.log(e.detail.combo);
               }         
            });
         </script>
      </dom-module>
   </body>
</html>

Resultado

Para executar o aplicativo, navegue até o diretório do projeto e execute o seguinte comando.

polymer serve

Agora, abra o navegador e navegue até http://127.0.0.1:8081/. A seguir será a saída.

polímero_elementos.htm