2012-02-23 5 views
0

아마 사소한 질문 일 수 있습니다. 스크립트에는 약간의 논리가 역전되어 있습니다. hag-out이 기본적으로 pageload에 적용되어 i-gg 속성의 내용이 기본적으로 i 요소의 실제 내용 대신 표시되므로 차례대로 hover-on에서만 표시해야합니다. pageload의 기본값). 스크립트는 이제 첫 번째 호버 이벤트가 발생하기 전에 실제 i 콘텐츠를 기본적으로 표시합니다. 그렇지 않으면 정상적으로 작동합니다.on pageload (모든 호버 이벤트가 적용되기 전에) 호버 아웃 이벤트와 동일 함

$('i[data-gg]').hover(
    function() { 
     $(this).html($(this).data('content')); 
    }, 
    function() { 
     $(this).data('content', $(this).html()) 
       .text($(this).attr('data-gg')); 
    } 
); 
+0

을 이 객체들에 대해 'mouseleave' 이벤트를 발생시킬 수 있습니다. – yoavmatchulsky

+0

mouseleave 이벤트는 마우스 포인터가 요소를 떠날 때 요소로 보내집니다. 내가 말한대로 어떤 사건이 일어나기 전에 나는 그것을 필요로한다. – Kai88

+1

무엇? 방금 등록한 콜백을 트리거하려면'$ ('i [data-gg]'). trigger ('mouseleave')'를 사용하십시오 .. – yoavmatchulsky

답변

0

당신이 가져가 아웃 이벤트 페이지로드에서 발생하고 싶다면, 당신은 당신이 (호버 각각 mouseentermouseleave 이벤트 등록) 콜백을 등록 후 즉시 트리거 할 수 있습니다

$('i[data-gg]').hover(
    function() { 
     $(this).html($(this).data('content')); 
    }, 
    function() { 
     $(this).data('content', $(this).html()) 
      .text($(this).attr('data-gg')); 
    } 
).trigger('mouseleave');