Javascript 如何有一个页面支持键入键盘启动模式?

Javascript 如何有一个页面支持键入键盘启动模式?,javascript,jquery,html,bootstrap-modal,Javascript,Jquery,Html,Bootstrap Modal,这将推出一款jupyter笔记本电脑 加载页面时 输入h将启动一个模式(“键盘快捷键”) 键入f,将启动另一个模式“查找并替换” 如何有一个页面支持键入键盘启动模式 这给了莫代尔一些灵感 并给出关于单个元素的示例,尽管我要求的是一种在整个页面上侦听按键事件的方法 问题 这是我的代码,它试图监听任何按键 <!DOCTYPE html> <html> <head> <script> i = 0; $(do

这将推出一款jupyter笔记本电脑

加载页面时

输入h将启动一个模式(“键盘快捷键”)

键入f,将启动另一个模式“查找并替换”

如何有一个页面支持键入键盘启动模式

这给了莫代尔一些灵感

并给出关于单个元素的示例,尽管我要求的是一种在整个页面上侦听按键事件的方法

问题 这是我的代码,它试图监听任何按键

<!DOCTYPE html>
<html>

<head>
    <script>
        i = 0;
        $(document).querySelector('#myDiv').addEventListener('keyup', function (e) {
            $("span").text(i += 1);
        })
    </script>
</head>

<body>
    <div class="container" id="mydiv" tabindex="0">
        <p>Keypresses: <span>0</span></p>
    </div>

</body>

</html>

i=0;
$(document).querySelector('#myDiv').addEventListener('keyup',函数(e){
$(“span”)。文本(i+=1);
})
按键:0


如何使这段代码工作?

也许你应该试试这个

    document.addEventListener('keyup', function (event) {
            if (event.defaultPrevented) {
                return;
            }

            var key = event.key || event.keyCode;
            console.log(key); // which "key" is the key you clicked on
            // Then you should test which key is clicked so you can do whatever you want like so
            if(key == 'Esc'){
              //Do the magic

            }
        });

您未正确连接事件。使用jQuery,使用
on()
连接事件,并在第二个参数中为目标元素提供选择器:


i=0;
$(文档).on('keyup','#mydiv',函数(e){
$(“span”)。文本(i+=1);
})
按键:0


简短回答:通过编程。听键盘事件,然后做出相应的反应。没有“开箱即用”的功能可以做到这一点。@cloned plz检查答案仍然是一样的:你不能只是在HTML中添加一堆东西,你必须对你需要的功能进行编码。@cloned你真的运行了那篇文章中的2个代码段吗?代码段_1不支持键盘功能!谢谢你的回答。您的代码只适用于一行,而不是整个页面。请你们帮我看一下,在整个页面上,哪个键盘响应?它只适用于一个元素,而不是一行。碰巧您的元素包含一行,但如果您愿意,可以将其变大。如果希望它在整个页面上工作,只需删除第二个参数中的元素选择器
“#mydiv”
,如
$(document).on('keyup',函数(e){
。非常感谢。请你看看这个好吗?我搜索了“keypup”、“keypdown”和“keypress”,在jupyter笔记本中找不到它们。jupyter笔记本使用什么在整个页面上进行响应?它们使用
keypress
。是关键字“keypress”,我用它搜索,但什么也没有得到。