我有以下音频标签:
<audio preload>
<source src='/sounds/notify.ogg' type='audio/ogg'>
</audio>
我想通过js来播放它,所以我自然会期望调用 $("audio").play() 来做到这一点(这是页面上唯一的音频标签),但我收到一条错误消息,指出 play is' t 定义。经检查确实如此。音频元素没有播放属性。我读过的每个教程或资源都说这就是您需要做的一切,但是......好吧,我就是做不到。我的 FF 版本是否已损坏,或者我是否遗漏了这些不同文本中未说明的内容?
最佳答案
play()
是一个 DOM 方法,而不是 jQuery 方法,这意味着您需要先获取实际的 DOM 元素,然后才能获取 play
属性(property)。要获取实际的 DOM 元素,您可以使用 jQuery get()
方法:
$('audio').get(/*insert element index*/).play();
或者简单地使用数组索引:
$('audio')[/*insert element index*/].play();
为了获得更多选择,您可以执行以下操作:
$('audio').eq(/*insert element index*/).prop('play')();
您甚至可以执行类似的操作来播放每个音频元素:
$('audio').each(function () { this.play(); });
关于javascript - firefox 25 没有为音频标签定义 play() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990143/