Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Twitter Bootsrap:Popover和自动刷新_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript Twitter Bootsrap: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

我正在使用Twitter Boostrap重新设计网站,我需要一些jQuery帮助。我使用的是bootstrap打包的“Popover”插件,它位于一个#div标记中(具体来说是onlinedata),我使用jquery每10秒重新加载一次div。但是,如果在div刷新时恰好悬停在激活popover的链接上,则popover会被卡住

我正在使用以下代码进行刷新:

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
});