Reputation: 8971
I'm still trying to understand angular...
Basically, I have an html5 video and I want to listen to the onloadeddata
event (http://www.w3schools.com/jsref/event_onloadeddata.asp).
This is what I have:
html:
<video autoplay="autoplay" loaded-data loop style="display: none;">
<source src="videos/example.mp4" type="video/mp4">
<source src="videos/example.ogg" type="video/ogg">
</video>
directive:
angular.module('myApp')
.directive('loadedData', function () {
return function ($scope, $element) {
$element.addEventListener("loadeddata", function () {
console.log('test'); // never calls
});
}
});
Is this the correct way of handling this? For some reason, the event listener never gets called.
I've also tried
$element.bind('loadedData', function () {
console.log('test');
});
but it also doesn't work...
Upvotes: 5
Views: 6418
Reputation: 1
$element.on('loadeddata', function (event) {
var width = $element[0].videoWidth;
}
'loadeddata' works for me 'loadedData' does not
Upvotes: 0
Reputation: 8971
Figured it out! Looks like I need to use:
$element[0].addEventListener(...)
Instead of:
$element.addEventListener(...)
Upvotes: 2