1

我在一个输入字段上使用角带时间选择器。我需要在 timepicker hide 事件上添加一些操作,因此在timepicker docs之后,我创建了一个指令来执行此操作:

.directive('onTimeHide', function() {
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {
      element.timepicker().on('hide.timepicker', function(e){

        // my code

      });
    }
  };
});

它在 Chrome 和 Safari 下按预期工作,但 Firefox 存在问题,时间选择器小部件未显示/打开。小部件的适当 dom 元素已添加到代码中,但功能不起作用。

经过一些调试后,我发现在 Firefox 中,我的指令 'on-time-hide' 在 'bs-timepicker' 之前被调用,而在其他浏览器中则相反。

对于如何解决该问题的任何建议,我将不胜感激。

谢谢

4

1 回答 1

2

您可以设置priority密钥。在你的情况下:

.directive('onTimeHide', function() {
  return {
    restrict: 'A',
    priority: -1, // for example
    link: function(scope, element, attrs) {
      element.timepicker().on('hide.timepicker', function(e){

        // my code

      });
    }
  };
});

默认情况下,0但如果您想第二次加载它,请设置-1

于 2013-11-06T13:48:50.013 回答