最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Angular on video load event - Stack Overflow

programmeradmin0浏览0评论

I'm still trying to understand angular...

Basically, I have an html5 video and I want to listen to the onloadeddata event (.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...

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./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...

Share Improve this question asked Jan 19, 2015 at 0:37 VicVic 8,9917 gold badges47 silver badges56 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

Figured it out! Looks like I need to use:

$element[0].addEventListener(...)

Instead of:

$element.addEventListener(...)
$element.on('loadeddata', function (event) {
   var width = $element[0].videoWidth;
}

'loadeddata' works for me 'loadedData' does not

发布评论

评论列表(0)

  1. 暂无评论