web-dev-qa-db-ja.com

HTML5オーディオとjQuery

ボタンを使用してjQueryを使用してHTML5オーディオタグでトラックを開始しようとしていますが、エラーが発生し続けます。

var song = $('#audio');

$('#play').click(function() {
song.play();
});

Document.getElementById( 'audio')を使用すると機能しますが、jQueryセレクターを使用すると次のエラーが発生します。

Uncaught TypeError:Object [object Object] has a method 'play'

助けてくれてありがとう。

27
user699242

JQueryが$('#audio')セレクターによって返されたラップされた配列の.playメソッドについて何も知らないので、ネイティブDOM要素を取得してみてください。

song.get(0).play();
59
Darin Dimitrov

song.trigger('play');のように書くこともできます。これにより、$('#audio');セレクターを使用できるようになります。

13
Cole Garstin

.get()の代わりに、オブジェクト表記を使用します。

var song = $('#audio');

$('#play').click(function() {
    song[0].play();
});

入力するのは簡単です:)

3
sidonaldson