将事件处理程序附加到文档,没有文档标记,因此不能使用指令

时间:2014-05-21 09:31:24

标签: javascript angularjs

我现在已经开始创建自定义指令并向我的DOM元素添加事件侦听器,但现在我想向document添加一个事件侦听器。显然没有<document>标签所以我不能使用指令,或者可能有一些特殊的技巧?

监听器将用于处理文档上的单击,如果可能,它将需要访问$scope,因为它需要找出当前打开的下拉菜单,以便关闭它们。

1 个答案:

答案 0 :(得分:2)

您可以将$document注入您的指令:

app.directive('myDirective', function ($document) {

  return {
    link: function (scope, element, attrs) {
      console.log(scope);
      console.log($document);
    }
  }
})

然后在任何元素上使用该指令,具体取决于您想要的范围:

<html ng-app="myApp" my-directive>
相关问题