如何将 SHIFT 键与另一个键结合使用 [重复]

Posted

技术标签:

【中文标题】如何将 SHIFT 键与另一个键结合使用 [重复]【英文标题】:How to combine SHIFT key with another key [duplicate] 【发布时间】:2016-03-30 14:00:49 【问题描述】:

在我的代码中:

window.addEventListener("keydown",doKeyDown);
function doKeyDown(e)

    console.log(e.keyCode);
    var str = String.fromCharCode(e.keyCode);
    console.log(str+":"+e.keyCode);
    var tune = new Audio();
    switch(str)
    
        case 'Q':
            tune = new Audio("Assets/Tune/C.mp3");
            tune.play();
        break;
    

我想让输入 SHIFT+B 以便可以播放音频。

我已经尝试过case 'SHIFT+B':,但它不起作用。有没有办法解决这个问题?

【问题讨论】:

我们需要更多上下文。 str 是什么?这个问题不能按原样回答。理想情况下,您的帖子应该包含足够的代码来完全复制您的问题。 你使用 jQuery 吗? 我已经编辑了代码,基本上我想使用 SHIFT+B 进行输入来播放声音。我正在尝试制作虚拟钢琴 【参考方案1】:

我假设因为您希望 Shift + B 这是在 keydown 事件或其他内容中?所以你应该可以访问像

这样的事件
function onKeyPress(e)
    var evt = e || window.event;
    if(evt.shiftKey) 
        var str = evt.keyCode;
        switch(str)
        
            //Since we are using the KeyCode, use the ascii value for capital B. 
            case 66:
                tune = new Audio("Assets/Tune/ASharp'.mp3");
                tune.play();
                break;
            default: //Have a default logic
        
    

【讨论】:

是的,我想按 SHIFT+B 来播放音频。感谢您的回答 我需要放 window.addEventListener("keyPress",onKeyPress);在函数 onKeyPress(e) 之前? 是的,您需要以任何您想要的方式将函数附加到事件侦听器。 ***.com/questions/17255283/…【参考方案2】:

试试这个:-

<input type="text" onkeydown="myFunction(event);">

<script>
function myFunction(event) 
    //keyCode for B = 66
    if(event.keyCode == 66 && event.shiftKey) 
      //Your Code
    

</script>

EXAMPLE FIDDLE

【讨论】:

@KikujaVonic 如果有帮助,请接受答案。 这个答案只编辑了一次以添加一个工作的 FIDDLE。看起来 DOWNVOTERS 无缘无故醒了。

以上是关于如何将 SHIFT 键与另一个键结合使用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

组合键与 ENTER 键

MySQL 性能:嵌套插入/重复键与多次更新

PHP:如何比较一个数组中的键与另一个数组中的值,并返回匹配?

如何分清SQL数据库中的主键与外键

将字典的键与 List 的值进行比较,并返回所有匹配的值,包括重复值

SQL Server:主键与外键设置与相关理解