7

jQuery でオーディオを動作させるのに苦労しています。.wav と .ogg の両方の形式でこれを試しました。(Firefox 19.0.2)

Startボタンをクリックすると、次のようになります。

TypeError: ブザー.プレイは関数ではありません

jQueryセレクターが配列を返すかどうかはわかりませんが、両方でオーディオファイルをキャプチャしようとしました:

var buzzer = $('buzzer');

var buzzer = $('buzzer')[0]; 

とにかく、オーディオ要素を再生できません。

<!DOCTYPE html>     
<html>     
    <head>      
    <meta name="viewport" content="width=device-width, initial-scale=1">     
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>    
</head>     

<body>     

<audio id="buzzer" src="buzzer.ogg" type="audio/ogg">Your browser does not support the &#60;audio&#62; element.</audio>    
<form id='sample' action="#" data-ajax="false">    
    <fieldset>    
     <input value="Start" type="submit">    
     </fieldset>    
</form>    
<script type="text/javascript">    

var buzzer = $('buzzer')[0];    

$(document).on('submit', '#sample', function()  {     
    buzzer.play();    
    return false;    
});    

</script>    
</body>    
</html>  
4

3 に答える 3

15

#ID セレクターのハッシュを忘れました:

var buzzer = $('#buzzer')[0];  

$(document).on('submit', '#sample', function()  {     
    buzzer.play();    
    return false;    
});    

そして、document.getElementById('buzzer')より適切に思えます!

HTML を次のように変更します。

<audio id="buzzer" src="buzzer.ogg" type="audio/ogg"></audio>    
<input type="button" value="Start" id="start" />

そして、やります:

$('#start').on('click', function() {
    $('#buzzer').get(0).play();
});
于 2013-04-08T20:55:03.973 に答える
1
var buzzer = document.getElementById("buzzer");

これを行うこともできます:

var buzzer = $('audio')[0]; 

そして、idbuzzerが一意である場合(本来あるべきように)、これを行うこともできます-必要はありません[0]

var buzzer = $('#buzzer');
于 2013-04-08T20:57:23.837 に答える