有什么方法可以模拟 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 的 jqLite 支持 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/