Javascript - 如何创建按键事件?

时间:2016-07-20 14:20:26

标签: javascript jquery

我在互联网上看到了这一点,而我所能找到的都是折旧功能,所以在发布之前请检查以确保您建议的代码不被折旧。

我发现了这个并尝试过: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/KeyboardEvent

$(document).ready(function () {
    var x = new KeyboardEvent("FormatCode", deprectiatedArgument);
});

但在进一步检查后,KeyboardEventInit已弃用。

我想在CTRL + K键的pres上创建一个事件。

4 个答案:

答案 0 :(得分:2)

键盘上的每个按钮都有一个特定的键码。 所有这些都在http://keycode.info/

$(document).keyup(function(e) {
    if (e.keyCode === 13) function();   // enter
    if (e.keyCode === 27) function();   // esc
});

答案 1 :(得分:0)

这是一个用于检测CTRL + k按键事件的vanilla JS解决方案:

更新触发事件。

document.addEventListener("keypress", function(e) {
  if ((e.ctrlKey || e.metaKey) && (e.keyCode == 11 || e.keyCode == 75)) {
    alert("ctrl+k!");
  }
});


document.getElementById("trigger").addEventListener("click", function(){
  //trigger a keypress event...
  var e = document.createEvent('HTMLEvents');
    e.initEvent("keypress", false, true);
    e.ctrlKey = true;
    e.keyCode = 75;
  document.dispatchEvent(e);
});
Press <kbd>ctrl+k</kbd> or
<a href="#" id="trigger">trigger the event</a>

答案 2 :(得分:0)

你可以使用一个名为shortcut.js的库..这里是他们下载源代码的链接: http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js

然后通过制作此函数来运行你的代码:

shortcut.add("Ctrl+K",function() {
    alert("Hi there!");
});

以下是文档:http://www.openjs.com/scripts/events/keyboard_shortcuts/

希望能有所帮助。

答案 3 :(得分:-1)

$(document).ready(function () {
    var bool = false;
    $(document).keydown(function (e) {
        if (e.keyCode === 17) {
            bool = true;
        }
        if (bool == true && e.keyCode == 75) {
            alert("");
        }
    });
    $(document).keyup(function (e) {
        if (e.keyCode === 17) {
            bool = false;
        }
    });
});

这就是我和朋友的工作方式