Twitter Bootstrap popover不显示

时间:2013-06-25 21:11:37

标签: .net asp.net-mvc-3 twitter-bootstrap popover

我发布这个问题是因为在我的搜索中,我找不到任何与我的情况类似的东西。我尝试了许多其他解决方案,但没有任何效果。这是我的情况:

我有一个textarea,我使用handlebars.js模板动态创建:

{{#datacontext}}
<textarea rows="10" cols="41" id="selector" rel="popover" 
          data-content="{{data_value}}" data-html="true" 
          style="color:Black;background:none;" class="uneditable-textarea"   
          readonly="true" >{{data_value}}</textarea>
{{/datacontext}}

然后在jQuery中我有以下所有这些代码,但没有任何作用。我很确定我的bootstrap.js脚本中有popover:

     $('body').popover({
            selector: '[rel=popover]',
            placement: 'left'
        });

 $('#selector').popover({ trigger: 'hover'
                            , placement: 'left'
                            , html: true
                            , content: function () {
                                return $("#poContent").html();
                            }
    });

    $("[rel=popover]").popover({ placement: 'left' });

    $('[rel=popover]').popover({
        html: true,
        content: function () {
            return $('#poContent').html();
        }
    });

我也尝试将内容放在#poConten t中。

我很感谢你在这方面的帮助。

1 个答案:

答案 0 :(得分:1)

看起来像你的js templater在文档就绪后和脚本运行后工作。 对于调试,请尝试在文档就绪并延迟一些(使用setTimeot())后运行它:

$(document).ready(function() {

setTimeout(function(){
$('body').popover({
            selector: '[rel=popover]',
            placement: 'left'
        });

 $('#selector').popover({ trigger: 'hover'
                            , placement: 'left'
                            , html: true
                            , content: function () {
                                return $("#poContent").html();
                            }
    });

    $("[rel=popover]").popover({ placement: 'left' });

    $('[rel=popover]').popover({
        html: true,
        content: function () {
            return $('#poContent').html();
        }
    });
 }, 2000); // 2 sec delay 

}) ;