通过 div 或 Vue2 中其他非按钮上的 Enter 键触发点击事件

Trigger click event by Enter key on div or other non-button in Vue2

如果元素不是button/input/link,仅tabindex="0" 不足以触发单击事件,方法是关注元素然后按Enter 键。还需要什么?

<!--not working, even if the element has focus-->
<div tabindex=0>Trigger click event on me by Enter key!<div>

使用 enter 事件修饰符。

<div tabindex=0 @click.enter="doSomething">

唯一的方法是手动处理 keydown.enter 事件。您只能免费获得某些元素(按钮、链接等)的 click 事件,因为浏览器对这些元素有特殊的行为,div 即使您已经创建也不会自动发生它可聚焦。

<div tabindex="0" @keydown.enter="handleClick" @click="handleClick">