JavaScript 退格键代码不起作用



backspace的键代刚刚起作用,我在IE和Google Chrome中尝试过,并且在控制台或警报代码中均未显示任何内容:

$(document).keypress(function(e) {
  console.log(e.which);
  if (e.which == 13) {
    window.alert("enter");
  } else if (e.which == 8) {
    window.alert("backspace");
  } else {
    $("#prompt").append(String.fromCharCode(e.which));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

keyPress事件仅针对字符(可打印(键调用,keyDown事件均已为所有人(包括非打印机

(提高

$(document).keydown(function(e) {
  console.log(e.which);
  if (e.which == 13) {
    window.alert("enter");
  } else if (e.which == 8) {
    window.alert("backspace");
  } else {
    $("#prompt").append(String.fromCharCode(e.which));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

参考

您应该使用keyup而不是keypress事件,因为某些键(例如BackSpace(不会导致该事件发射。

$(document).keyup(function(e) {
  console.log(e.which);
  if (e.which == 13) {
    window.alert("enter");
  } else if (e.which == 8) {
    window.alert("backspace");
  } else {
    $("#prompt").append(String.fromCharCode(e.which));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

键盘事件仅在可打印键上唤起。要打印任何键,您需要使用onkeydown事件。它为所有人提供了筹集的培训,例如控制,换档,ALT,Backspace等。在此处阅读有关他们onkeydown事件的更多信息:https://api.jquery.com/keydown/这是结果的示例:

$(document).keydown(function(e) {

使用keyup代替keypress获取所有键代码

$(document).keyup(function(e) {
  console.log(e.which);
  if (e.which == 13) {
    window.alert("enter");
  } else if (e.which == 8) {
    window.alert("backspace");
  } else {
    $("#prompt").append(String.fromCharCode(e.which));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

相关内容

  • 没有找到相关文章

最新更新