单击Event Listener javascript时播放声音

时间:2013-02-13 18:19:20

标签: javascript

点击动态创建的

  • 时,我试图发出声音 但我得到错误对象没有方法。我发现的教程只调用了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(); 
    
    
        }
    }
    
  • 1 个答案:

    答案 0 :(得分: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 here。你应该被告知这使用HTML 5,所以IE&lt; 9不会支持这一点。