我在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键选择纸张项目
答案 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');
}
注意覆盖 TAB 可能是一个辅助功能问题。