Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果父元素被删除,则隐藏引导弹出窗口_Javascript_Jquery_Ajax_Twitter Bootstrap_Bootstrap Popover - Fatal编程技术网

Javascript 如果父元素被删除,则隐藏引导弹出窗口

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

如果触发此弹出框的父元素从dom中删除,如何隐藏引导弹出框

如果用户单击我的页面上的按钮,一些内容将通过ajax加载到div中。下一次单击另一个按钮时,另一个ajax调用将替换同一div中的内容

加载到此div中的内容包含充当引导Popover触发器的元素,如下所示:

<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();