1

我在这样的 Ember Octane 应用程序中有一个微光组件

import Component from '@glimmer/component';
import { action } from '@ember/object';


export default class TestComponent extends Component {
  @action
  handleEvent(event) {
    console.log(event);
  }
}

在我的 HTML 中,我有

<div {{on 'keyup' this.handleEvent}}></div>

handleEvent即使更改为“keyDown”也不会触发。它在文档中说

事件可以是任何事件名称,而不仅仅是点击事件,这使得 {{on}} 非常适合处理任何类型的 DOM 事件。有关本机浏览器事件的列表,请参阅 MDN 文档

但这似乎不是真的!

是否有一种“Ember 方式”来处理键盘事件而无需安装外部库(修改器)或者我应该坚持使用本机事件侦听器?

4

1 回答 1

3

但这确实有效!见这里

请注意,您需要tabindex="0"在 div 上指定,因为如果元素无法聚焦,则不会触发 keyup。

于 2021-12-15T01:41:09.437 回答