AngularJS:如何在自定义指令中捕获$ event对象?

时间:2016-07-03 23:45:44

标签: angularjs object events directive capture

我有一个函数需要将$ event obj作为参数传递给它。当我使用ng-click调用它时,该功能正常工作。但是,现在告诉我将该函数更改为自定义指令。但是现在每次单击包含自定义指令的元素时,我都不知道如何访问$ event对象。有什么建议?到目前为止我有这个,但控制台日志记录给我未定义。

(function () {
        angular.module(APPNAME)
            .directive('clickTracker', clickTracker);

        function clickTracker() {
            return {
                scope: true,
                link: function (scope, element, attrs) {
                    element.bind('click', function () {
                        var mouseEvent = scope.$eval(scope.$event);
                        console.log(mouseEvent);
                    }
                }  
            }
        }
   })()

1 个答案:

答案 0 :(得分:0)

event是jQlite事件处理程序回调的第一个参数...与jQuery相同

element.bind('click', function (evt) {
      var mouseEvent = scope.$eval(evt);
      console.log(mouseEvent);
}

至于这是自定义指令,您仍然可以使用ng-click并在指令

中指定范围函数