I believe that the βendedβ event no longer fires when the VIDEO element reaches the end. Apparently, only the pause event is triggered.
I got around this by simply listening to the "timeupdate" event and binding a handler method that checks if the currentTime property is equivalent to the duration property of the VIDEO element.
UPDATE: I sometimes see the event "ended" in iOS. I always see a pause event. Here is the jQuery code that displays this information in the browser console:
(function ($) { $("#vid").bind("timeupdate", function (e) { console.log(e.type + " - " + (this.currentTime == this.duration)); }); })(jQuery);
source share