【问题标题】:bootstrap popover html class lostbootstrap popover html类丢失
【发布时间】:2013-07-02 21:50:00
【问题描述】:

我有这个引导弹出窗口:

$(function(){
    $('#example').popover({
        placement: 'bottom', 
        html: true, 
        content: $('#side').html()
    });
});

它从 div 中获取其内容代码:

<div id="side">
    <a href="#" class="song1">SummerShe</a><br/>
    <a href="#" class="song2">Funeral Beaver</a>    
</div>  

问题是当我点击弹出框上的链接时没有任何反应,我认为类 song1 和 song2 没有传输到弹出框。

(如果我单击 div id="side" 上的链接,这些类就可以正常工作,所以这显然是弹出框的问题。)

【问题讨论】:

  • 我的猜测是您将点击处理程序绑定到链接?如果不是,我的回答就没有真正的意义。
  • 尝试将 html() 更改为 clone()

标签: jquery class twitter-bootstrap popover


【解决方案1】:

您实际上是在创建#side 内部内容的浅层克隆。在进行浅层克隆时,不会复制数据和事件处理程序,这就是为什么单击链接什么都不做的原因。相反,创建一个deep clone 来复制数据和事件处理程序:

$(function(){
    $('#example').popover({
        placement: 'bottom', 
        html: true, 
        content: $('#side').children().clone(true);
    });
});

如果您不使用 #side 中的链接,最好在弹出框打开后直接将它们附加到它,但我想您还没有这样做是有原因的。

【讨论】:

    猜你喜欢
    • 2019-08-19
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2014-12-21
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多