Twitter bootstrap 要在使用手动触发选项时延迟引导中的popover显示吗

Twitter bootstrap 要在使用手动触发选项时延迟引导中的popover显示吗,twitter-bootstrap,popover,jquery-hover,Twitter Bootstrap,Popover,Jquery Hover,我使用popover插件显示hovercard,使用ajax从文件中获取用户名数据。我正在使用以下代码: jQ('.username').popover({ html : true, trigger: 'manual', placement: function (context, source) { var position = jQ(source).position();

我使用popover插件显示hovercard,使用ajax从文件中获取用户名数据。我正在使用以下代码:

jQ('.username').popover({ 
            html : true,
            trigger: 'manual',
            placement: function (context, source) {
                var position = jQ(source).position();
                if (position.left > 515) {
                  return "left";
                }
                if (position.left < 515) {
                  return "right";
                }
                if (position.top < 110){
                  return "bottom";
                }
                return "top";
            },
            //delay: {show: 700},
            content: function() {
                // Get link where user hover the username.
                var view_user_link = jQ(this).attr('href').split('/');
                // Get userid.
                var userid = view_user_link[2];
                var login_userid = getCookie('userid');
                if(global_hash.perm_view_profiles || login_userid == userid) {
                    // Sent AJAX request to get user information to show in hovercard.
                    if(!jQ('#content_'+userid).html()) {
                        var obj = this;
                        jQ.ajax({
                            type: 'POST',
                            url: '/register',
                            data: {'action':'show_hovercard', 'userid':userid},
                            success: function (response) {
                                // Show hovercard data into tooltip.
                                jQ('a.username').attr('title','');
                                jQ('#hover_card_content').append(response);
                                return jQ('#content_'+userid).html();
                            }
                        });
                    } else {
                        // If AJAX request already sent from the user on the same page then data get from the page.
                        jQ('a.username').attr('title','');
                        return jQ('#content_'+userid).html();
                    }
                } else {
                    // If user does't permission to view another user profile then show title.
                    jQ('a.username').attr('title','View profile');
                }   
            }

        }).on("mouseenter", function() {
            var _this = this;
            setTimeout(function(){
                jQ(_this).popover("show");
                jQ(".popover").on("mouseleave", function () {
                    jQ('.username').popover('hide');
                });
            }, 400);
        }).on("mouseleave", function() {
            var _this = this;
            setTimeout(function() {
                if (!jQ(".popover:hover").length) {
                    if(!jQ(_this).is(':hover')) {
                        jQ(_this).popover('hide');
                    }
                }
            }, 200);
        });
jQ('.username').popover({
是的,
触发器:“手动”,
位置:函数(上下文、源){
var position=jQ(source.position();
如果(位置左>515){
返回“左”;
}
如果(位置左<515){
返回“正确”;
}
如果(位置顶部<110){
返回“底部”;
}
返回“顶部”;
},
//延迟:{show:700},
内容:函数(){
//获取用户悬停用户名的链接。
var view_user_link=jQ(this.attr('href').split('/');
//获取用户ID。
var userid=查看用户链接[2];
var login_userid=getCookie('userid');
if(全局_hash.perm_视图_配置文件| |登录_userid==userid){
//已发送AJAX请求以获取要在hovercard中显示的用户信息。
如果(!jQ('#content_'+userid).html()){
var obj=这个;
jQ.ajax({
键入:“POST”,
url:“/register”,
数据:{'action':'show_hovercard','userid':userid},
成功:功能(响应){
//在工具提示中显示悬停卡数据。
jQ('a.username').attr('title','');
jQ(“#悬停(卡片)内容”).append(响应);
返回jQ('#content'+userid).html();
}
});
}否则{
//如果同一页面上的用户已经发送了AJAX请求,那么数据将从该页面获取。
jQ('a.username').attr('title','');
返回jQ('#content'+userid).html();
}
}否则{
//如果用户没有查看其他用户配置文件的权限,则显示标题。
jQ('a.username').attr('title','View profile');
}   
}
}).on(“mouseenter”,function(){
var_this=这个;
setTimeout(函数(){
jQ(_this).popover(“show”);
jQ(“.popover”).on(“mouseleave”,函数(){
jQ('.username').popover('hide');
});
}, 400);
}).on(“mouseleave”,函数(){
var_this=这个;
setTimeout(函数(){
if(!jQ(“.popover:hover”).length){
如果(!jQ(_this).is(':hover')){
jQ(_this).popover('hide');
}
}
}, 200);
});

请帮助我如何延迟popover显示,因为第一次它在悬停用户名链接时没有显示数据,这是因为我使用ajax获取数据

在ajax调用之外声明一个变量,在成功馈送时,您希望传递给popover的任何内容,并在完成时启用带有内容的popover

     var popOverContent;
     $.getJSON("url?id=" + obj.id + ", function (data) {
            popOverContent = BuildPopOverDataContent(data.Title, data.Description);
        })
        .always(function () {                    
            EnableHelpPopOver(obj.id, popOverContent);      
            $(jqObjId).trigger("mouseover");  //This will trigger the popover to show
        });   

function BuildPopOverDataContent(Title, Description) {
   return "<h2>Some Content</h2>";
}


function EnableHelpPopOver(container, popOverContent) {
    var objId = "#" + container;        
    $(objId).popover({
        html: true,
        trigger: 'hover',
        container: objId,
        placement: 'top',
        delay: {
            show: "500",
            hide: "100"
        },
        content: popOverContent
    });
}
var-poppovercontent;
$.getJSON(“url?id=“+obj.id+”,函数(数据){
popOverContent=BuildPopOverDataContent(data.Title,data.Description);
})
.always(函数(){
启用HelpPopOver(对象id、popOverContent);
$(jqObjId).trigger(“mouseover”);//这将触发弹出框显示
});   
函数buildPopOverdata内容(标题、说明){
返回“一些内容”;
}
功能启用HelpPopOver(容器、popOverContent){
var objId=“#”+容器;
$(objId)。popover({
是的,
触发器:“悬停”,
集装箱:objId,
位置:'顶部',
延迟:{
显示:“500”,
隐藏:“100”
},
内容:popOverContent
});
}

您好,请帮我解决这个问题。我一直在处理这个问题