有一个按钮。我想检测用户是否已点击它或按下回车,并执行与发生的事件相对应的事情。但是,当我按回车键时,点击和输入处理程序都会被输入。
我该如何解决这个问题?
HTML:
<button type="button">
Click me
</button>
Jquery的:
$("button").keydown(function(e){
var keyCode = e.keyCode || e.which;
if(keyCode === 13){
$("button").after("<div> enter was pressed </div>");
}
})
$("button").click(function(){
$("button").after("<div> click event </div>");
})
答案 0 :(得分:1)
<强> Working fiddle 强>
改为使用keyPress
:
$(document).keypress(function(e) {
var keyCode = e.keyCode || e.which;
if(keyCode === 13){
$("button").after("<div> enter was pressed </div>");
}
});
$("button").click(function(){
$(this).blur().after("<div> click event </div>");
})
希望这有帮助。
$(document).keypress(function(e) {
var keyCode = e.keyCode || e.which;
if(keyCode === 13){
$("button").after("<div> enter was pressed </div>");
}
});
$("button").click(function(){
$(this).blur().after("<div> click event </div>");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">
Click me
</button>
答案 1 :(得分:1)
看https://jsfiddle.net/75wbo7d2/3/
使用e.preventDefault();
你可以做到。
干杯