1

这是我的问题:当鼠标移到一个项目上时,会有一个弹出窗口显示项目的详细信息。我使用 hover() 来执行此操作(我设置了一个函数来延迟触发)。但是,当我移出项目并移出详细信息弹出窗口时。弹出窗口就消失了。那么,当鼠标不悬停触发元素而是悬停弹出窗口时如何保持弹出窗口。这是我的代码

tab.find("tr").slice(1,parseInt(jQuery("#itemCount").val())+2).find("td").mouseDelay(500).hover(function (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 中工作,我的工作很简单。然而事实并非如此。所以我该怎么做?

4

1 回答 1

1

您可以尝试使用 settimeout,如下所示:

setTimeout(function (){$("#popupContact").remove();}, 3000);

希望这可以帮助

于 2012-12-11T11:33:54.767 回答