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

使用JavaScript从文本框的字符播放音频,javascript,html,audio,textbox,Javascript,Html,Audio,Textbox,我是一个彻头彻尾的noob,我已经开始尝试做一个程序,每次在文本框中按下每个字母的键码时都会播放它的声音,每次按下空格键时都会删除文本 当我使用空格键时,程序会清除文本框,但不会播放任何字符的声音: <!DOCTYPE html> <html lang="en"> <head> <title>keyCode example</title> <script type="text/javascr

我是一个彻头彻尾的noob,我已经开始尝试做一个程序,每次在文本框中按下每个字母的键码时都会播放它的声音,每次按下空格键时都会删除文本

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

<!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>

键码示例
函数showKeyCode(e){
var字母=e.keyCode
如果(字母!=32)
{
var audio=新音频(例如,keyCode+“.wav”);
音频播放();
}
其他的
{
document.getElementById(“TextBox1”).value=“”;
}
}

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

  • 不要使用大写标记属性

  • 对属性使用引号

  • 包括
    标记

  • 您在
    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 = "";
       }
     }
    
  • 我已经为你做了一份工作。它似乎起作用了


    此外,为什么要使用
    onkeyup
    而不是
    onkeydown

    谢谢!是的,它现在工作得很好,我使用了onkeyup,因为onkeyup在清除文本框后会留下一个空间