使用指令加载元素的事件

时间:2014-03-24 01:46:10

标签: javascript jquery html angularjs

假设您在angularJS中创建了一个带有属性限制的新指令,比如my-directive。 假设有以下HTML代码:

<img src="..." my-directive />

现在,<img> load 事件仅在my-directive的所有代码被执行且DOM被完全加载时,或者当所有信息都被触发时被触发。加载了本机 <img>标记(例如src数据,样式,......)?

我想知道这些信息,因为我想了解拦截指令代码中的load事件的效果。

1 个答案:

答案 0 :(得分:3)

正如我的评论所提到的,您可能希望使用预编译链接功能,但您也可以使用ng-src而不是原生src属性来帮助您角度将自身插入过程中。然后你可以在编译之前进行拦截:

module.directive('interceptImg',function(){

    //other functions on your directive like template and controller

    compile:{
        return: {
            pre: function preLink(scope, iElement, iAttrs, controller){
                //you can listen/bind your events here by accessing iElement
            }
        }
    }
})

结帐docs for $compile