小编Con*_*Log的帖子

当多个事件附加到按钮时,Enter 键会同时触发单击事件和按键事件

我有两个事件附加到一个按钮,当我在按钮处于焦点状态时按下一个键时,按键和单击事件都会被触发。但是,如果我单击该按钮,则只会触发单击事件。通过添加e.preventDefault()似乎可以解决问题,但我想首先了解为什么它会出现这种情况。如果这是重复的,我深表歉意,但除了这个之外我找不到相关的答案,但那里的解释不够清楚。非常感谢。

$('.btn').on('click keypress',function(e){
  console.log(e.type);
});
Run Code Online (Sandbox Code Playgroud)
<button type="button" class="btn" >click me</button>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript jquery events click keypress

6
推荐指数
1
解决办法
4132
查看次数

标签 统计

click ×1

events ×1

javascript ×1

jquery ×1

keypress ×1