【问题标题】:Reacting when user presses ENTER当用户按下 ENTER 时做出反应
【发布时间】:2012-02-13 14:07:06
【问题描述】:

我正在开发一个应用程序,如果用户按下 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;

【问题讨论】:

    标签: javascript events keycode enter


    【解决方案1】:

    你也必须绑定事件..

    • 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 = ..
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-10
      • 1970-01-01
      • 2020-07-31
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多