Javascript Twitter Bootsrap:Popover和自动刷新
我正在使用Twitter Boostrap重新设计网站,我需要一些jQuery帮助。我使用的是bootstrap打包的“Popover”插件,它位于一个#div标记中(具体来说是onlinedata),我使用jquery每10秒重新加载一次div。但是,如果在div刷新时恰好悬停在激活popover的链接上,则popover会被卡住 我正在使用以下代码进行刷新:Javascript Twitter Bootsrap:Popover和自动刷新,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在使用Twitter Boostrap重新设计网站,我需要一些jQuery帮助。我使用的是bootstrap打包的“Popover”插件,它位于一个#div标记中(具体来说是onlinedata),我使用jquery每10秒重新加载一次div。但是,如果在div刷新时恰好悬停在激活popover的链接上,则popover会被卡住 我正在使用以下代码进行刷新: setInterval(function(){ $("#onlinedata").load("http://websi
setInterval(function(){
$("#onlinedata").load("http://website.com #onlinedata");
}, 10000);
如果需要,激活popover的代码:
$(function () {
$('a[rel=popover]').popover({
placement:'right',
title:'Title',
content: $('#div-that-contains-data').html()
});
});
有没有办法避免div重新加载时popover卡在打开位置
非常感谢您的帮助
关联的HTML
$id
是每个popover的特定键,因为我有多个popover
在popover\u控制器
悬停之前隐藏的popover部分:
<div id="controller_popup_$id" style="display:none;">
<div style="font-size:11px">
//data_fetched_from_database
</div>
</div>
**新密码半工程** 我正在使用下面的代码,它可以工作。我遇到的唯一问题是,在它重新加载#onlinedata div之后,它会增加popover链接
$(document).ready(function() {
$('a[rel=popover_controller_$id]').popover({
placement:'right',
title:'Title',
content: $('#controller_popup_$id').html()
});
// refreshing code
setInterval(function() {
// fetch new html
$('a[rel=popover_controller_$id]').load('http://websiteurl.com/ #onlinedata', function() {
$('a[rel=popover_controller_$id]').popover('destroy'); // remove old popovers
// after load, set up new popovers
$('a[rel=popover_controller_$id]').popover({
placement:'right',
title:'Title',
content: $('#controller_popup_$id').html()
});
});
}, 10000); // 10 second wait
});
类似地,我认为您需要将插件重新应用于已加载的新DOM元素。这实际上意味着在加载调用后添加一个
popover
代码的副本。如果旧的爆米花到处都是,你可能不得不把它们藏起来。这给了我们:
$(document).ready(function() {
// refreshing code
setInterval(function() {
$('a[rel=popover]').popover('destroy'); // remove old popovers
// fetch new html
$('#onlinedata').load('/onlinedata.html #onlinedata', function() {
// after load, set up new popovers
$('a[rel=popover]').popover({
placement:'right',
content: $('#div-that-contains-data').html()
});
});
}, 10000); // 10 second wait
});
类似这样的东西:如果是这样,它就不起作用了。好吧,我现在有了这个,但它仍然卡住了:好吧,我尝试了你的更新代码,它半工作了…我可以再次将鼠标悬停在链接上,它只会在旧的上面显示一个新的弹出框(旧的没有关闭)。好的,我想我们需要看到你正在使用的相关html。我已经更新了我的原始帖子,包括了相关的html等等。
$(document).ready(function() {
$('a[rel=popover_controller_$id]').popover({
placement:'right',
title:'Title',
content: $('#controller_popup_$id').html()
});
// refreshing code
setInterval(function() {
// fetch new html
$('a[rel=popover_controller_$id]').load('http://websiteurl.com/ #onlinedata', function() {
$('a[rel=popover_controller_$id]').popover('destroy'); // remove old popovers
// after load, set up new popovers
$('a[rel=popover_controller_$id]').popover({
placement:'right',
title:'Title',
content: $('#controller_popup_$id').html()
});
});
}, 10000); // 10 second wait
});
$(document).ready(function() {
// refreshing code
setInterval(function() {
$('a[rel=popover]').popover('destroy'); // remove old popovers
// fetch new html
$('#onlinedata').load('/onlinedata.html #onlinedata', function() {
// after load, set up new popovers
$('a[rel=popover]').popover({
placement:'right',
content: $('#div-that-contains-data').html()
});
});
}, 10000); // 10 second wait
});