0

我试图在点击动态创建的声音时发出声音

  • 但我得到错误对象没有方法。我发现的教程只调用 elementById 但因为这是一个使用 eventlistner 的类。

    这就是我现在所拥有的。

    function AddEvent(){ 
        var addClass= document.getElementsByClassName("add"); 
        addClass=addClass[addClass.length-1]; 
        addClass.addEventListener("click", playsound, true); 
    
        function playsound() { 
    
            var mySound = src="wav/add.wav"
            mySound.play(); 
    
    
        }
    }
    
  • 4

    1 回答 1

    1

    您可以在 HTML 5 中创建一个audio元素,将其隐藏,然后使用 JavaScript / jQuery 对其进行操作。所以你的 HTML 看起来像:

    <audio id="mySound">
        <source src="add.ogg" type="audio/ogg">
        <source src="add.mp3" type="audio/mpeg">
    </audio>
    

    然后你可以使用下面的JS:

    function AddEvent()
    { 
        var addClass = document.getElementsByClassName("add"); 
        addClass = addClass[addClass.length-1]; 
        addClass.addEventListener("click", function() {  
            document.getElementById('mySound').play();
        }, true); 
    }
    

    你可以在这里看到一个工作的jsFiddle。您应该被告知这使用了 HTML 5,所以 IE < 9 将不支持它。

    于 2013-02-13T19:04:46.813 回答