如何在弹出窗口上保留鼠标上的jQuery.hover弹出窗口

时间:2012-11-27 03:09:51

标签: jquery popup hover

这是我的问题:当鼠标移动到某个项目上时,会有一个弹出窗口显示该项目的详细信息。我使用hover()来做这个(我设置了一个延迟trig的函数)。但是,当我移出项目并移动细节弹出窗口时。弹出窗口就消失了。所以,当鼠标没有悬停trig元素时,如何保持弹出窗口,但是将鼠标悬停在弹出窗口上。这是我的代码

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')。是(':hover')在IE中工作,我的工作很简单。但事实并非如此。那我该怎么办?

1 个答案:

答案 0 :(得分:1)

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

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

希望这有帮助