我有一个带有html:true;
的弹出窗口我想点击标题中的一个元素,关闭弹出窗口,但它似乎没有完成这项工作。
答案 0 :(得分:1)
Bootstrap会在元素出现/消失时动态创建和删除popover元素(而不是显示和隐藏仅创建一次的元素)。为了解决这个问题,您需要在使用jQuery的.on()
方法时列出父容器。
更改
$('#btncancel').on("click",function()
到
$('body').on('click', '#btncancel', function()
以上内容在HTML #btncancel
元素中查找元素body
,即使在DOM上创建/删除/重新创建#btncancel
,也会这样做。
答案 1 :(得分:0)
您使用的是什么版本的jquery?
在你的小提琴中
$('#popoverData').popover({ html: true });
$('#btncancel').live("click",function(){
$('#popoverData').popover('hide');
});
我使用live()来生成页面和框架。但是在jQuery 1.9中,这个函数已被弃用,不起作用。
这里已经回答了 Turning live() into on() in jQuery
更新
$('#popoverData').popover({ html: true });
$(document).on("click", '#btncancel', function () {
$('#popoverData').popover('hide');
} );