自定义指令如何知道是否已在另一个控件上单击它

时间:2016-01-21 14:01:47

标签: javascript angularjs angularjs-directive javascript-events

我创建了自定义角度指令,类似于前面的类型。我在屏幕上也有角度ui datepicker。当我点击datepicker时,我想提前关闭类型吗?

单击datepicker时,如何在自定义指令中捕获事件?

1 个答案:

答案 0 :(得分:0)

var app = angular.module('app', []);

app.constant('APP_EVENTS', {
    DATEPICKER_SHOWN: 'datepicker-shown'
});

app.directive('typeAhead', function ($rootScope, APP_EVENTS) {
    return {
        link: function (scope) {
            var deregister = $rootScope.on(APP_EVENTS.DATEPICKER_SHOWN, function () {
                // hide type ahead
            });

            scope.$on('$destroy', deregister);
        }
    };
});

现在,使用ng-click播放正在显示的datepicker事件,以便typeahead可以捕获它。