1

我正在使用cljs-react-material-uifrom re-frame

当我单击 aflat-button时,它会按预期触发:on-click事件。但是,当我按 Tab 键聚焦按钮然后按返回时,似乎触发了两次事件。这让我的应用程序感到困惑,因为它的有限状态机已经进入下一个状态,在这种状态下(重复的)事件没有意义。

我是否需要明确地消除此事件?我本来希望 UI 框架能够几乎相同地处理单击和返回键。

4

1 回答 1

1

这很简单

:on-click (fn [e] (.preventDefault e)
                  (re-frame.core/dispatch [::events/eventname]))

请参阅 React 的事件文档

当我确定是否是浏览器在用户按 Enter 键(或按空格键)click后发送事件时,我将更新此答案。有趣的是,ing Meta-Enter 之后不会触发该事件。我确定这一切都写在某个地方,我只是还没有找到参考!keydownkeyupkeydownclick

编辑...aaand这是material-ui中错误的描述。

于 2018-07-21T10:55:42.517 回答