0

ドキュメントの準備が整うたびに、ホバーイベントをハンドラーで..要素にバインドするjQueryがありclass="widget-box"ます。問題は、ドキュメントの準備が整うとホバー イベント ハンドラーがバインドされることですが、ユーザーがページのボタンをクリックすると、ajax が使用されてページの一部がリロードされ、ドキュメントの準備が整うとホバー イベントがバインドされます。もう一度同じ要素に。この動作が発生することを望まず、ホバー イベントを 1 回バインドするだけで済みます。unbind('mouseenter') と unbind('mouseleave') で document ready が再度呼び出されるたびに hover() のバインドを解除しようとしましたが、どういうわけか、既にバインドされているホバーを削除することはできません。これを修正する方法について誰かアイデアがありますか?

ありがとう!

4

2 に答える 2

1

あなたは何か間違ったことをしたかもしれません。このようにしてください:

$(".widget-box").unbind('mouseenter mouseleave').bind('hover', ...);

お役に立てれば。乾杯

于 2011-07-08T02:45:16.143 に答える
-1

.live() メソッドを使用してみてください:)

資格を得るには:

同じ JavaScript を 2 回ロードするのはなぜですか? 一度だけロードし、.hover ではなく .live を使用すると、js を再度実行しなくても、イベントを関連する要素にアタッチできます。

編集:

コードを次のようにラップすることを考えましたか:

if(document.myScriptIsLoaded!=true){
    document.myScriptIsLoaded=true;
    //put your document ready here
}
于 2011-07-08T02:20:22.117 に答える