【问题标题】:JavaScript modify keyDown to specific keydownJavaScript 修改 keyDown 为具体的 keydown
【发布时间】:2021-10-09 02:55:04
【问题描述】:

我有一些 javascript 代码,其中当一个键按下但未按下某个键时,变量设置为 1。如何修改代码而不是任何键时被按下时变量被设置为 1,只有当按键 c 被按下时,变量才会被设置为 1。如何做到这一点?当前代码:

let x = 0;
window.onkeydown = () => {
let x = 1;

};

window.onkeyup = () => {
  let x = 0;

}
 

【问题讨论】:

    标签: javascript html jquery function variables


    【解决方案1】:

    使用 jQuery 中的 keyup 或 keydown 事件,下面的测试示例。

    在这些函数中,您可以传入event,然后您可以从那里使用event.keyCode 来表示已按下的特定键。

    如果您想添加键但不知道 keyCode,您只需在 keydown 块中添加 console.log(event.keyCode);

    我在 JSFiddle 中添加了下面的示例,请确保在按键之前单击屏幕的右下角。你也可以打开 JSFiddle 里面的日志来查看 keyCode。祝你好运! https://jsfiddle.net/h6exry0t/

    $(document).ready(function(){
        let x = 0
          $(document).on('keydown', function (event) {
            if(event.keyCode === 67){
             x = 1;
            }
          });
        
          $(document).on('keyup', function (event) {
            if(event.keyCode === 67){
             x = 0;
            }
          });
        });
    

    【讨论】:

    • 我刚刚测试了代码,没有得到任何结果。我不确定究竟是为什么。我尝试将变量记录在控制台中,但出现错误。有代码演示吗?
    • 我已将它添加到 JSFiddle,我也会更新我的帖子。确保在按下键之前单击右下角的结果视图,否则 JSFiddle 将无法工作。 jsfiddle.net/h6exry0t
    • @Bob 你把 jQuery 添加到你的网页了吗?
    猜你喜欢
    • 2013-11-07
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2017-05-20
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多