Javascript 如果父元素被删除,则隐藏引导弹出窗口
如果触发此弹出框的父元素从dom中删除,如何隐藏引导弹出框 如果用户单击我的页面上的按钮,一些内容将通过ajax加载到div中。下一次单击另一个按钮时,另一个ajax调用将替换同一div中的内容 加载到此div中的内容包含充当引导Popover触发器的元素,如下所示:Javascript 如果父元素被删除,则隐藏引导弹出窗口,javascript,jquery,ajax,twitter-bootstrap,bootstrap-popover,Javascript,Jquery,Ajax,Twitter Bootstrap,Bootstrap Popover,如果触发此弹出框的父元素从dom中删除,如何隐藏引导弹出框 如果用户单击我的页面上的按钮,一些内容将通过ajax加载到div中。下一次单击另一个按钮时,另一个ajax调用将替换同一div中的内容 加载到此div中的内容包含充当引导Popover触发器的元素,如下所示: <a class="infolink" data-toggle="popover" data-title="some title" data-placement="bottom" data-trigger="hover cl
<a class="infolink" data-toggle="popover" data-title="some title" data-placement="bottom" data-trigger="hover click" ></a>
ajax调用后的问题是,如果弹出窗口可见,那么即使父元素已被删除,它仍然可见。根据谷歌的搜索结果,这在弹出窗口或对话框中并不少见,但到目前为止,我遇到的解决方案对我来说似乎不是很干净
两种解决方案,仅举几个例子:一旦ajax成功完成,就隐藏每个popover。这不是一个选项,因为我的弹出窗口的内容在打开后通过ajax动态加载 让数组存储所有触发器元素。一旦Ajax成功事件发生,循环遍历该数组并检查该元素是否仍然存在
//Pseudocode
var popoverTriggers = [];
$('[data-toggle="popover"]').each(function(index) {
popoverTriggers.push(this);
}
对我来说也不是很干净
有人知道更好的方法吗?我添加了一个
$('.popover').remove();
指向应触发移除popover的事件。这对我很有效 可能重复的
$('.popover').remove();