img load事件没有触发

时间:2016-06-24 16:32:05

标签: javascript angularjs angularjs-directive

我必须遵循指令,我正在尝试为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功能没有触发。请放轻松,我确信我做的事情非常愚蠢:)

2 个答案:

答案 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() {});