我必须遵循指令,我正在尝试为img标记设置onload侦听器。在该链接函数中,我以编程方式生成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功能没有触发。请放轻松,我确信我做的事情非常愚蠢:)
答案 0 :(得分:1)
“elem”不是图像。如果你使用如下的指令,
<div img-test />
elem是“div”而不是图像
答案 1 :(得分:0)
elem.on('load')
是一个jQuery风格的事件监听器。看起来你没有像elem
这样的jQuery对象 - 它直接来自Angular。所以试试:
$(elem).on('load', function () {})
或
elem.addEventListener('load', function() {});