使用TAB

时间:2017-03-15 07:59:02

标签: html5 polymer

我在Polymer 2中有一个纸张下拉菜单,类似于这个:

<paper-dropdown-menu label="Dinosaurs">
  <paper-listbox class="dropdown-content" selected="1">
    <paper-item>allosaurus</paper-item>
    <paper-item>brontosaurus</paper-item>
    <paper-item>carcharodontosaurus</paper-item>
    <paper-item>diplodocus</paper-item>
  </paper-listbox>
</paper-dropdown-menu>

我可以通过按键盘上的ENTER键选择纸张列表框中的项目。有没有办法通过按Tab键选择纸张项目

1 个答案:

答案 0 :(得分:0)

您可以通过addOwnKeyBinding()<paper-listbox>添加密钥绑定。指定的处理程序必须是<paper-listbox>的方法,因此您必须附加自己的方法。

<paper-listbox id="listbox></paper-listbox>

// script
connectedCallback() {
  super.connectedCallback();

  // Attach our own handler for TAB-key
  this.$.listbox._onListTabKey = e => {

    // Cancel TAB key event
    e.preventDefault();
    e.stopPropagation();
    e.detail.keyboardEvent.preventDefault();

    // Select currently focused item
    const focusedIndex = this.$.listbox.indexOf(this.$.listbox.focusedItem);
    this.$.listbox.select(focusedIndex);
  };

  this.$.listbox.addOwnKeyBinding('tab', '_onListTabKey');
}

Polymer 1 demo

Polymer 2 demo

注意覆盖 TAB 可能是一个辅助功能问题。