我有一个要按下的键,以便创建键盘事件,这是我已链接到文件中的声音。声音src是正确的,据我所知,我的JavaScript也是如此。在HTML文件中添加声音是否有我不知道的步骤?

我的代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
        <link rel="stylesheet" href="style.css" type="text/css">
    </head>
    <body>

        <div class="container">
            <div class="row">

                <div class="col-12">
                    <div data-key="83" class="key">
                        <kbd>s</kbd>
                        <span class="sound">clap</span>
                    </div>
                </div>

            </div>
        </div>

        <audio data-key="83" src="jap/big_taiko.wav"></audio>



        <script>
            window.addEventListener('keydown', function(e) {
                const audio = document.querySelector('audio[data-key="${e.keyCode}"]');
                if (!audio) return;
                audio.play();
            });
        </script>
    </body>
</html>

最佳答案

对于字符串插值,您应该使用倒勾号`而不是单个'引号。使用以下选择器:
`audio[data-key="${e.keyCode}"]`

关于javascript - JS的键盘事件无法播放音频吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41968982/

10-11 09:11