我还在努力理解角度......
基本上,我有一个html5视频,我想听一下onloadeddata
事件(http://www.w3schools.com/jsref/event_onloadeddata.asp)。
这就是我所拥有的:
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>
指令:
angular.module('myApp')
.directive('loadedData', function () {
return function ($scope, $element) {
$element.addEventListener("loadeddata", function () {
console.log('test'); // never calls
});
}
});
这是处理此问题的正确方法吗?出于某种原因,事件监听器永远不会被调用。
我也试过
$element.bind('loadedData', function () {
console.log('test');
});
但它也不起作用......
答案 0 :(得分:2)
想出来!看起来我需要使用:
$element[0].addEventListener(...)
而不是:
$element.addEventListener(...)
答案 1 :(得分:0)
$element.on('loadeddata', function (event) {
var width = $element[0].videoWidth;
}
'loadeddata'适用于我'loadedData'不适用