0

ページの読み込みが完了したら、ホバー イベントを $('a.tooltip') に置く関数を呼び出します。このイベントのバインドを解除したいときは、次のようにします。

   $('a.tooltip').unbind('mouseover mouseout');

それはうまくいきます!ただし、ホバーイベントを再バインドする必要があり、ドキュメントの準備ができたときに最初にロードされた関数を再度呼び出すと、ホバーヘルパーが再バインドされません。どうすれば再バインドできますか?

ありがとうございました、

4

2 に答える 2

3

アンバインドが正しく機能していると確信していますか? 私の経験では、.hover() は適切に再バインドしますが、次のバインド解除構文を使用する必要がありました。

$(this).unbind('mouseenter').unbind('mouseleave');

両方のイベントを 1 つの unbind() に入れようとすると、そのうちの 1 つだけがバインド解除されました。

それがあなたに起こっているのだろうか?(または、mouseovervsmouseenterなどの選択が重要な場合は?)

アップデート

quirksmode.orgによると、mouseentermouseleaveは IE 固有のイベントですが、Jimmy がコメントで指摘したように、jQuery は他のブラウザーにもそれらを実装しています。

于 2008-11-25T14:16:16.657 に答える
0

bind メソッドを使用すると、少し面倒なことがわかりました。hover(over, out) 関数を次のように使用してみてください。

 $(this).hover( 
    function() {
       if (okayToHover) { dowhatever; } 
    },
    function() {
       if (okayToUnhover) { undowhatever; }
    });

少し回りくどいように思えますが、ホバー機能を使用すると、何が起こっているのかをもう少し制御できるようになり、何らかの理由で少しうまく機能するように思えます. あくまで私の経験上ですが…

于 2008-11-25T14:51:40.033 に答える