使用JavaScript从文本框的字符播放音频

时间:2014-01-17 16:08:19

标签: javascript html audio textbox

我是一个完整的菜鸟,我已经开始尝试做一个程序,每次在文本框中按下时都会播放每个字母的键码的声音,并在每次按空格键时删除文本。

当我使用空格按钮时,程序会清除文本框,但它不会播放任何字符的声音:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>keyCode example</title>
        <script type="text/javascript">
        function showKeyCode(e) {
            var letter = e.keyCode

            if (letter != 32)
            {
                var audio = new Audio(e.keyCode + ".wav");
                audio.play();
            }
            else
            {
                document.getElementById("TextBox1").value = "";
            }
        }
        </script>
    </head>
    <body>
        <input TYPE = text ID="TextBox1" SIZE = 15  onkeyup="showKeyCode(event);">
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

好的,我在你的代码中发现了一些问题:

  1. 请勿使用CAPITALIZED标记属性。
  2. 使用引号作为属性。
  3. 包含<body>标记。
  4. 您在var letter = e.keyCode之后忘记了分号。

    function showKeyCode(e) {
        var letter = e.keyCode;
        if (letter != 32)
        {
            var audio = new Audio(e.keyCode + ".wav");
            audio.play();
        }
        else
        {
            document.getElementById("TextBox1").value = "";
        }
    }
    
  5. 我为你做了jsFiddle。它似乎有效。

    此外,为什么使用onkeyup而非onkeydown