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