2012-02-23 9 views
0

おそらくこれは簡単な質問です。スクリプトには、ビット反転ロジックがあります。デフォルトではpageloadにホバーアウトを適用して、data-gg属性の内容がi要素の実際のコンテンツの代わりにデフォルトで表示されるようにする必要があります。これはホバーオンのみで表示する必要があります。 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'); 
関連する問題