我发布这个问题是因为在我的搜索中,我找不到任何与我的情况类似的东西。我尝试了许多其他解决方案,但没有任何效果。这是我的情况:
我有一个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中。
我很感谢你在这方面的帮助。
答案 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
}) ;