2016-06-25 18 views
0

html5オーディオ要素の再生/一時停止ボタンからのイベントを無効にする方法や無効にする方法はありますか?このようなhtml5オーディオ要素の再生/一時停止ボタンを無効にする方法

私がしようとしています何か:

document.getElementById(id).addEventListener("pause", function() { 
    $(this).trigger("play"); 
}); 

これだけでは動作しますが、私の問題は、私はオーディオ要素がであるdiv要素をクリックしたときに再生/一時停止をコントロールしたいということです。

<div id="my_div"> 
    <audio controls id="my_audio"> 
     <source src="my_song.mp3" type="audio/mpeg"> 
    </audio> 
</div> 
var is_playing; 
$("#my_div").click(function() { 
    if (is_playing) { 
     $('#my_audio').trigger("pause"); 
     is_playing = false; 
    } else { 
     $('#my_audio').trigger("play"); 
     is_playing = true; 
    } 
}); 

私はaudio要素の一時停止/再生ボタンを使用するときに、これは競合が発生します。だから、私は再生/一時停止オーディオ要素コントロールのイベントを防ぐ方法を探している(しかし、シークバーとボリュームを使用する必要があるので、コントロール全体ではない)。

+1

_「私の問題は、私は何か他のもので、オーディオをコントロールという点である」_「何か他のもの」とは何である<audio>要素

$(function() { var is_playing; $("#my_div").click(function(e) { // if 'e.target' is not '<audio>' element if(e.target.tagName !== "AUDIO") { if (is_playing) { $('#my_audio')[0].pause(); is_playing = false; } else { $('#my_audio')[0].play(); is_playing = true; } } else { e.stopPropagtion() } }); }); 

plnkrに.play().pause()を呼び出してみては?デモするためにスタックニッペッップを作成できますか? – guest271314

+0

このコードでは、再生と一時停止が連続して呼び出されます...これはあなたが探しているものではないかと思います.. – Rayon

+0

@ guest271314私は何をしたいのかという情報を追加しました。 – jck

答えて

1

playおよびpauseはjQueryメソッドではありません。 http://plnkr.co/edit/l5NejZ4rvxTZLPghkFWF?p=preview

+0

TY @ guest271314しかし、これはtriger()メソッドを使う私のコードと同じように動作するので、役に立ちません。私の問題は、オーディオ要素コントロールの再生/一時停止ボタンをクリックすると、divの1と再生ボタンの1という2つのイベントが発生するという問題です。 – jck

+0

@jckデモンストレーションのためにスタックスニップ、plnkr http://plnkr.coを作成できますか? – guest271314

+0

@jck _ "オーディオ要素コントロールの再生/一時停止ボタンをクリックすると、2つのイベントが発生します:1つはdivで、もう1つは再生ボタンです" _別のクリックイベントが_ #my_div'要素は質問に表示されませんか? plnkrを参照してくださいhttp://plnkr.co/edit/l5NejZ4rvxTZLPghkFWF?p=preview – guest271314

関連する問題