无法单击bootstrap popover title html中的html元素

时间:2014-11-19 07:02:15

标签: jquery html twitter-bootstrap

我有一个带有html:true;的弹出窗口我想点击标题中的一个元素,关闭弹出窗口,但它似乎没有完成这项工作。

测试小提琴 http://jsfiddle.net/9P64a/1362/

2 个答案:

答案 0 :(得分:1)

Bootstrap会在元素出现/消失时动态创建和删除popover元素(而不是显示和隐藏仅创建一次的元素)。为了解决这个问题,您需要在使用jQuery的.on()方法时列出父容器。

更改

$('#btncancel').on("click",function()

$('body').on('click', '#btncancel', function()

以上内容在HTML #btncancel元素中查找元素body,即使在DOM上创建/删除/重新创建#btncancel,也会这样做。

Example

答案 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');
} );