这是我的问题:当鼠标移动到一个项目上时,会弹出一个弹出窗口来显示该项目的详细信息。我使用hover()来做这件事(我设置了一个函数来延迟触发)。但是,当我移出项目并移动到详细信息弹出窗口时。弹出窗口就消失了。所以,当鼠标不是停留在触发器元素上,而是停留在弹出窗口.this上时,如何保持弹出窗口是我的代码
tab.find("tr").slice(1,parseInt(jQuery( tr (e){
var id=jQuery(this).parent().find( "td:first").html();
var url = "/" +job.webDatabasePath+"/DPGetDoc?openAgent&id="+id;
jQuery.ajax( {
url:url,
success: function(data){
var xmlObj = jQuery(data);
var major = xmlObj.find("DPTrainSubItem" ).text();
jQuery( "#blockDeptName").val(major);
}
} )
var a=getMousePoint(e);
if((parseInt(document.getElementById("popupContact").style.width)+a.x)<parseInt(document.body.clientWidth)){
jQuery( "#popupContact").css({
"top": a.y+20,
"left": a.x+20
});
popupModal.show();
}else{
jQuery( "#popupContact").css({
"top": a.y+20,
"left": a.x-parseInt(document.getElementById("popupContact").style.width)-50
});
popupModal.show();
}
},
function (){
if(jQuery('#popupContact').is(':hover')){
disablePopup();
}
});如果jQuery('#popupContact').is(':hover')在IE中工作,我的工作就简单了。然而,事实并非如此。那么我该怎么做呢?
发布于 2012-12-11 19:33:55
您可以尝试使用settimeout,如下所示:
setTimeout(function (){$("#popupContact").remove();}, 3000);希望这能有所帮助
https://stackoverflow.com/questions/13576810
复制相似问题