【问题标题】:How custom directive can know if it has been clicked on another control自定义指令如何知道它是否已在另一个控件上单击
【发布时间】:2016-01-21 14:01:47
【问题描述】:

我已经创建了自定义角度指令,类似于提前输入。我在屏幕上也有角度 ui datepicker。我想在点击日期选择器时关闭提前输入?

当我点击日期选择器时,如何在自定义指令中捕获事件?

【问题讨论】:

    标签: javascript angularjs angularjs-directive dom-events


    【解决方案1】:
    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 广播显示日期选择器的事件,以便预先输入可以捕捉到它。

    【讨论】:

      猜你喜欢
      • 2015-11-18
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      相关资源
      最近更新 更多