我必须遵循指令,我试图为IMG标签设置一个onload侦听器。在该链接函数内部i编程生成IMG SRC。
angular.module('test', [])
.directive('imgTest', function() {
return {
restrict: 'A',
template: '<img ng-src="{{imgSrc}}"></img>',
link: function(scope, elem) {
elem.on('load', function() {
console.log('image loaded');
});
scope.imgSrc = "someurl?token=" + getAccessToken();
}
};
});
但是,Onload功能没有发射。请轻松,我确定我在做一些非常愚蠢的事情:)
" elem"不是图像。如果您使用以下指令,
<div img-test />
elem是"div"而不是图像
elem.on('load')
是jQuery风格的事件侦听器。看起来您没有一个jQuery对象,就像那里的elem
一样 - 它直接来自Angular。所以尝试:
$(elem).on('load', function () {})
或
elem.addEventListener('load', function() {});