1

マウスオーバー時に QTip を必要とする数百の要素を含むページがあります。これはIE8を殺していますが、他のブラウザは問題なく動作しているようです.

これに対抗するために、ユーザーが要素のコンテナーにマウスを置いたときに QTips を作成しようとしています。これにより、一度に 1,000 以上ではなく、一度に ~100 ~ 200 しか実行されなくなります。

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').live('mouseover', function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({//foo}
})
 });

コンテナの上にマウスを置くと、この関数は起動しますが、子の上にマウスを置くと、ツールチップを表示するのではなく、この関数を何度も起動するだけです。

4

3 に答える 3

2

そして、おそらく「1 つの」関数を使用するのが最善でしょう。

$('#color-family /ID of body/> .strctr-contain /containing class/').one('mouseover', function(){

     $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qti({//foo} ); 

});
于 2012-01-12T17:24:07.897 に答える
0

これにより、一度実行されるとマウスオーバーバインディングが削除されます...

$('#color-family /*ID of body*/> .strctr-contain /*containing class*/').on("mouseover", function(){
   $(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({ //foo }).off("mouseover");
});

バインド解除 (オフ) を追加する必要がありました。

于 2012-01-12T17:18:43.853 に答える
0

よし、バインド関数だけを使用できる場合は、初めて qtips を作成した後にアクションのバインドを解除しようとします。

$('#color-family /本体のID /> .strctr-contain /含むクラス/').bind('mouseover', function(){

$(this).children('.palette .color-swatch, .stain-swatch, .color-swatch-dash').qtip({//foo} ); $(this).unbind('mouseover');

});

于 2012-01-12T17:20:47.977 に答える