IMG负载事件不发射



我必须遵循指令,我试图为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() {});

最新更新