我正在尝试在弹出框中添加一些元素,并将一些命令与元素相关联。
假设我有以下阻止:
<div id ="pop_models">
<a href="javascript:;" class="model">TEST MODEL</a>
</div>
并且
$(".model").click(function() {
alert('I work');
});
如果我点击链接,我会收到一条提醒信息。
但是,如果我使用弹出框显示我的div
,则不显示警报,单击它时没有任何反应。
即。我将以下代码与我的popover
相关联 $('[rel=popover]').popover({
html : true,
content: function() {
return $('#pop_models').html();
}
});
似乎$(".model").click(function() {
在popover中找不到model
类。
答案 0 :(得分:0)
对于弹出窗口功能......这可能对您有所帮助
<强> HTML 强>
<a href="#" data-toggle="popover" data-html="true"
data-content="<p>Example 1" title="Popover Method 1">Popover Method 1 1</a>
<强>的Javascript 强>
$(function(){
$("[data-toggle=popover]").popover();
});
答案 1 :(得分:0)
当您将处理程序绑定到像$('。model')这样的元素时,处理程序会立即绑定到该元素的生命周期。
您的内容函数每次都会返回新的HTML,因此您每次都会在没有处理程序的情况下创建新的DOM元素。
您可以通过以下方式解决此问题:
#2很难,因为理论上你不知道Bootstrap实际上会将popover元素插入到DOM中。所以你很难找到一个好的父元素作为委托。
所以你可能想和#1一起去。您可以通过从Bootstrap注册events来执行此操作,该任务将告诉您元素何时在DOM中。只需添加代码即可在事件处理程序中注册您的单击处理程序(显示为.bs.popover或inserted.bs.popover),您将全部设置完毕。