Twitter bootstrap 要在使用手动触发选项时延迟引导中的popover显示吗
我使用popover插件显示hovercard,使用ajax从文件中获取用户名数据。我正在使用以下代码: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();
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
});
}
您好,请帮我解决这个问题。我一直在处理这个问题