欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Angularjs 如何自定义Img的ng-load 事件

程序员文章站 2022-06-24 17:12:26
在使用angularjs的过程中,我们常常会用到一些ng-事件,如ng-click、ng-change等,这些事件都是angularjs事先为我们定义好的。也有的情况下,我...

在使用angularjs的过程中,我们常常会用到一些ng-事件,如ng-click、ng-change等,这些事件都是angularjs事先为我们定义好的。也有的情况下,我们会用到一些使用频率不高的dom事件,如img的onload(图片加载完成后触发),但angularjs中默认没有这个事件,那么我们该如何自定义添加ng-load这个事件呢?

只需要给app对象添加如下指令即可:

myapp.directive('imageonload', function () {
  return {
    restrict: 'a', link: function (scope, element, attrs) {
      element.bind('load', function () { 
        //call the function that was passed 
        scope.$apply(attrs.imageonload);
      });
    }
  };
})

在html中直接使用imageonload属性追加事件:

<img ng-src="{{src}}" imageonload="dothis()" />

最后,在controller中写对应的事件内容即可:

$scope.dothis=function(){
 //your own code
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。