/ / Изпълняваща функция в края на html5 видео - jquery, html5, html5-video

Функция за изпълнение в края на html5 видео - jquery, html5, html5-video

Имам html видео и искам да изпълня функция, когато видеото приключи. Опитах следното, но не получавам нищо:

$(document).ready(function(){

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

alert("video ended");

});

});

Някакви идеи защо това не се задейства в края на видеоклипа или не съм предоставил достатъчно информация, за да отговоря на нещо тук?

Забележка: Използвам функция live (), а не е включена () поради необходимостта от jQuery 1.7 с този проект.

Отговори:

50 за отговор № 1

За ваше удоволствие от паста и копиране решението jQuery:

<video width="320" height="240">
<source src="movie.mp4" type="video/mp4">
</video>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>/*<![CDATA[*/
$(document).ready(function(){
$("video").on("ended",function(){
console.log("Video has ended!");
});
});
/*]]>*/</script>

Заменете частта „видео“ с правилния селектор за вашето видео.

РЕДАКТИРАНЕ: Ето решението без jQuery:

<video width="320" height="240" id="video">
<source src="movie.mp4" type="video/mp4">
</video>
<script>/*<![CDATA[*/
document.getElementById("video").addEventListener("ended",function(){
console.log("Video has ended!");
}, false);
/*]]>*/</script>


12 за отговор № 2
<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>

6 за отговор № 3

употреба onended събитие

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

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

Прочетете повече за Всичко, което трябва да знаете за HTML5 видео и аудио


4 за отговор № 4

Ето нещо, което можете да опитате:

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

Казахте, че видеоклипът се вмъква динамично след DOM се зарежда. В този скрипт търсите в DOM за video елемент и го свързва с ended функция.

Ето документацията за .От ().
Ето въпроса за SO динамични елементи.

Надявам се това да помогне!


2 за отговор № 5

единственият начин, по който успях да работи е следният код:

$("video")[0].on("ended",function(){
console.log("Video has ended!");
});

1 за отговор № 6

Можете да използвате на място на живо. Тъй като методът се поддържа от jquery нови версии и на живо е оттеглен в новите версии.

Можете да замените кода си с това и проблемът ви ще бъде решен.

$(document).ready(function(){

$("video").on("ended",function(){

alert("video ended");

});

});