34

HTML ビデオがあり、ビデオの終了時に関数を実行したいと考えています。私は次のことを試しましたが、何も得られません:

$(document).ready(function(){

    $('video').live('ended',function(){

        alert('video ended');

    });

});

ビデオの最後にこれがトリガーされない理由はありますか? または、ここで何かに答えるのに十分な情報を提供していませんか?

注: このプロジェクトでは jQuery 1.7 が必要なため、on() ではなく live() 関数を使用しています。

4

6 に答える 6

14
<html>
<head>
    <title></title>

    <script>
function videoEnded() {
    alert('video ended');
}


    </script>
</head>
<body>

<video src="video/endscene.mp4" id="video" controls onended="videoEnded()">
    video not supported
</video>
</body>
</html>
于 2013-05-25T23:01:53.877 に答える
6

終了したイベントを使用する

var video = document.getElementsByTagName('video')[0];

video.onended = function(e) {
  alert('video ended');
}

HTML5 のビデオとオーディオについて知っておくべきことの詳細を読む

于 2013-01-25T08:02:39.947 に答える
5

私がそれを機能させる唯一の方法は、次のコードです:

$('video')[0].on('ended',function(){
    console.log('Video has ended!');
});
于 2016-10-31T08:07:21.037 に答える
5

ここにあなたが試すことができるものがあります:

$(document).on('ended', 'video', function (e) {
    alert('video ended');
});

あなたは、DOM がロードされた後にビデオが動的に挿入されると言いました。このスクリプトでは、要素を DOM で検索し、videoそれを関数にバインドしendedます。

.on()のドキュメントは次のとおりです。動的アイテム
の SO の質問は次のとおりです。

これが役立つことを願っています!

于 2016-03-10T14:02:34.710 に答える