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


    在使用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
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM