当用户按下ENTER键时做出反应

Reacting when user presses ENTER

本文关键字:用户 ENTER      更新时间:2023-09-26

我正在开发一个应用程序,如果用户按下ENTER,无论焦点在页面上的什么位置(例如在文本框或按钮等),都应该可以运行函数。

下面是我试验过的代码,只是为了了解当用户按下ENTER时如何反应,但它不起作用。我做错了什么?提前感谢!

var Capsule = {
init: function() {
    var button = document.getElementById("txtInput");
    button.focus();
    Capsule.events();
},
events: function() {
    function checkKeyboard(e) {
        if (e.keyCode == 13) {
            console.log("Pressed ENTER.");
            return false;
        }
    }
}
}
window.onload = Capsule.init;

您还必须绑定事件。。

  • onkeydown-如果您想在按下按键后立即捕捉事件
  • onkeypress-如果您想在按住按键的同时捕捉每个按键
  • onkeyup-如果您想在按键后立即捕捉事件

由于您使用的是return false;(我推荐e.preventDefault(),您可能正在查找onkeydownonkeypress。在onkeyup无法阻止默认操作,因为默认行为已经发生。

代码:

events: function() {
    function checkKeyboard(e) {
        if (e.keyCode == 13) {
            console.log("Pressed ENTER.");
            return false;
        }
    }
    window.onkeypress = checkKeyboard; //Or: document.onkeypress = ..
}