Jquery:不同的点击并输入处理程序

时间:2017-01-04 10:29:29

标签: jquery html button jquery-click-event

有一个按钮。我想检测用户是否已点击它或按下回车,并执行与发生的事件相对应的事情。但是,当我按回车键时,点击和输入处理程序都会被输入。

我该如何解决这个问题?

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>");
})

https://jsfiddle.net/75wbo7d2/1/

2 个答案:

答案 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();你可以做到。 干杯