我有两个事件附加到一个按钮,当我在按钮处于焦点状态时按下一个键时,按键和单击事件都会被触发。但是,如果我单击该按钮,则只会触发单击事件。通过添加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)