javascript - .parents() 在 Angular 中?

标签 javascript jquery angularjs

有什么方法可以模拟 jQuery 的 .parents() Angular 中的方法,而不必实际包含 jQuery?

最终目标是获取 DOM 元素的所有父元素。

编辑:为什么我需要这个?

我正在创建一个指令(一个类似下拉的小部件)。下拉列表应收听整个 <body>对于点击并在小部件区域外进行点击时自行关闭(如果它打开)。

现在,我知道如何创建一个简单的指令来监听鼠标事件,如下所示:

app.directive('mouseTrap', function() {
  return function(scope, elem) {
    elem.bind('click', function(event) {
      scope.$broadcast('click', { event: event } );
    });
  };
});

...然后我会像这样使用它:<body mouse-trap .... >

$scope.$on('click', function(msg, obj) {
  console.log("click!");
});

这是我需要检查被点击对象的任何父级是否是我的小部件的顶级 div 的地方,如果不是,则关闭小部件。

最佳答案

Angular 的 jqLit​​e 支持 parent() 方法,所以你可以像这样在一个循环中获取所有的父级:

var p = element.parent();
var allParents = [];
while (p.length > 0) {
    allParents.push(p[0]);
    p = p.parent();
}

关于javascript - .parents() 在 Angular 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442576/

相关文章:

javascript - 获取 nsIX509CertDB importCertsFromFile 失败原因?

javascript - 不要询问确认用户是否提交表单

angularjs - 在ui-sref中动态更改状态和参数

javascript - AngularJS - 如何强制范围输入的 ng-model 为空?

javascript - 如何序列化 blob javascript

javascript -\\$& in "str.replace(specials, "\\$ &")"是什么意思?

javascript - 如何在 jQuery.get() 中有一个进度条

javascript - 如何在 Jquery 的 event.currentTarget 中选择/查找元素?

angularjs - 使用 Require JS 的 angularJS 应用程序中的子资源完整性

javascript - 如何正确导入 javascript 函数并将其用于 node.js 脚本?