2013-03-28 1 views
0

PHP로 캘린더를 생성 중이며 Ajax 요청 (jQuery를 통해)에서 수집 한 데이터로 매일 툴팁을 만들고 싶습니다.Jquery UI 툴팁 마우스를 사용하면 오류가 발생합니다.

나는 마우스 커서로 너무 빠르게 탐색하려고 할 때 이상한 오류가 발생합니다. 일부 툴팁이 고착됩니다. 어떤 생각을 어떻게 수정해야합니까? 여기

는 매일 DIV 내 코드입니다 :

<div style="-moz-border-radius:8px; border-radius: 8px;" 
    class="pusty" id="dzien_'.$day.'" 
    onclick="idz_do_dnia('.$day.','.$miesiac.','.$rok.','.$gildia[id_gildi].')" 
    onmouseover="zaznacz('.$day.','.$data_s.','.$data_k.','.$gildia[id_gildi].')" 
    onmouseout="odznacz('.$day.')" > 
    &nbsp; 
</div> 

여기에 (이름 : zaznacz) 자바 스크립트 tooltim 표시하는 기능이있다 (: odznacz 이름)

function zaznacz(id,data_s,data_k,gildia) 
{ 
    jQuery("#dzien_"+id).removeClass("pusty"); 
    jQuery("#dzien_"+id).addClass("zaznaczony"); 

    jQuery.ajax(
    { 
     url: '/raidplanner_mini.php?data_s='+data_s+'&data_k='+data_k+'&gildia='+gildia, 
     success:function(data) 
     { 
      if (!jQuery("#dzien_"+id).hasClass("tooledUp")) 
      { 
       jQuery("#dzien_"+id).tooltip(
       { 
        content: data, 
        show: false, 
        tooltipClass: "tooltip", 
        hide: false, 
        track: false, 
       }); 
       jQuery("#dzien_"+id).tooltip("open"); 
       jQuery("#dzien_"+id).addClass("tooledUp"); 
      } 
      //else 
      //jQuery("#dzien_"+id).tooltip().show(); 
     } 
    }); 
} 
function odznacz(id) 
{ 
    jQuery("#dzien_"+id).removeClass("zaznaczony"); 
    jQuery("#dzien_"+id).addClass("pusty"); 
} 
그들을 숨기려면

어떻게 만들 수있는 아이디어?

답변

0

버그가 여기에 추적되고 있음 : http://bugs.jqueryui.com/ticket/8740

내 크롬 확장에 다음과 같은 해결 방법을 사용했습니다. 이것은 어떤 mouseOut 이벤트에 (.tooltip('disable') 사용) 종료 툴팁을 강제

open: function() { 
     $(this).one('mouseout.wpcustom', function() { 

      $(this) 
       .off('mouseout.wpcustom') 
       .tooltip('disable') 
       .tooltip('enable'); 
     }); 
    } 

: 나는 다음과 같이가는 jQueryUI 툴팁 초기화 오픈에 대한 처리기를 추가했다. 여기에서 전체 코드보기 : https://github.com/jncornett/wiki-preview/blob/master/src/js/inject.js