【问题标题】:How can I persist a jQuery.hover popup on mouse over the popup如何在鼠标悬停在弹出窗口上时保持 jQuery.hover 弹出窗口
【发布时间】:2012-11-27 03:09:51
【问题描述】:

这是我的问题:当鼠标移到一个项目上时,会有一个弹出窗口显示项目的详细信息。我使用 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 中工作,我的工作很简单。然而事实并非如此。那我该怎么办?

【问题讨论】:

    标签: jquery popup hover


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 2022-12-19
      • 2010-11-02
      • 2014-05-14
      • 2011-08-22
      • 2020-09-20
      • 2011-06-11
      • 1970-01-01
      相关资源
      最近更新 更多