【发布时间】:2013-08-25 14:53:37
【问题描述】:
我有一个元素
<span id="1">Element</span>
并通过使用javascript初始化引导弹出窗口使其成为启用弹出窗口的元素
$('#how2').popover({
html:true,
placement:"right",
trigger:"click",
content:"somecontent",
title:"sometitle",
});
然后在“somecontent”中,我有一个<script></script>,其内容是
$(".popover-close-button").click(function(){
$(this).parent().parent().remove(); //remove the .popover element
});
其功能是为“sometitle”中定义的 X(关闭)按钮提供点击侦听器,以删除创建的整个“.popover”元素。
切换工作。如果单击id="1" 元素,则会显示弹出框。再次单击时,弹出框将隐藏。单击 X 按钮时会出现问题。弹出框确实隐藏(实际上已删除),但是,当单击 id="1" 元素以使弹出框出现时,什么也没有发生。弹出框只会在第二次点击时显示。
我很高兴知道为什么会发生这种情况。 bootstrap 是否使用全局 javascript 变量来确定弹出框的开/关状态?
注意:选择 $(this).parent().parent().remove(); 而非 $("#1").popover("hide") 以实现 DRY 目的。 popover 中加载的内容也有望在其他地方使用。因此,将“#1”放在那里是不可接受的。
【问题讨论】:
标签: javascript jquery twitter-bootstrap popover