我正在使用cljs-react-material-ui
中的re-frame
。
当我单击flat-button
时,它会按预期触发:on-click
事件。但是,当我按Tab键使按钮聚焦然后按回车键时,似乎两次触发了该事件。这使我的应用程序感到困惑,因为其有限状态机已经移至下一个状态,在该状态下,(重复)事件没有意义。
我是否需要明确取消此事件的弹跳?我希望UI框架能够几乎完全相同地对待点击和回车。
答案 0 :(得分:1)
就这么简单
:on-click (fn [e] (.preventDefault e)
(re-frame.core/dispatch [::events/eventname]))
请参见React的event documentation。
确定在按钮上用户click
输入(或keydown
空格)后是否是发送keyup
事件的浏览器时,我将更新此答案。有趣的是,keydown
后的Meta-Enter不会触发click
事件。我确定这都是在某个地方写下的,只是我还没有找到参考!
编辑 ... aa和here's the description of the bug。