繁体   English   中英

AngularJs中.closest jQuery函数的等价物是什么?

[英]What is the equivalent of .closest jQuery function in AngularJs?

我正在尝试在Angular中实现自定义弹出窗口。 问题是在打开时单击弹出窗口外部我不知道如何在没有叠加的情况下轻松实现它。 我发现在基于jQuery的库中常见的是使用.closest函数,但我无法以简单的Javascript方式找到替代方法。

你真的不需要closest你的任务的方法。 为了能够在点击它之外的任何地方关闭弹出窗口,你应该在body (或document )元素上绑定一个click事件处理程序,如果在那里检测到这个事件,则关闭弹出窗口。

它将起作用,因为点击事件会使DOM树冒泡,最终到达像body这样的最顶层元素。

然后,您确保弹出窗口中初始化事件时阻止事件传播,因为您没有单击事件来到达正文(如果处理那里弹出窗口将被关闭)。 为此,您在popup容器上再绑定一个click事件,当它出现时,您可以阻止其进一步传播:

e.stopPropagation();

因此,当您与弹出窗口及其内容进行单击内部交互,执行某些操作时,单击事件永远不会到达正文,因此弹出窗口永远不会关闭。 但是一旦你点击弹出窗口外 - 冒泡点击事件将由body处理程序处理,并将关闭弹出窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM