1

これは私の問題です。マウスをアイテムの上に移動すると、アイテムの詳細を表示するポップアップが表示されます。これを行うには hover() を使用します (トリガーを遅延させる関数を設定します)。しかし、アイテムを移動して詳細ポップアップを移動すると。ポップアップが消えるだけです。したがって、マウスがトリガー要素にホバーしていないときにポップアップを保持する方法ですが、ポップアップにホバーします。これは私のコードです

tab.find("tr").slice(1,parseInt(jQuery( "#itemCount").val())+2).find("td").mouseDelay(500).hover(関数 (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 に答える