我很难让音频与jQuery一起工作.我用.wav和.ogg格式试过这个. (Firefox 19.0.2)
单击“开始”按钮可以产生:
TypeError: buzzer.play is not a function
我不确定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 <audio> 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>
解决方法
您忘记了ID选择器中的哈希#:
var buzzer = $('#buzzer')[0]; $(document).on('submit',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(); });