2

mousemove イベントを要素にバインドすると、Internet Explorer を除くすべてのブラウザーでスムーズに動作します。IE では、CPU 使用率が高すぎて、関連するもの (ツールチップなど) が醜いものがあります。パフォーマンスの問題を取り除く方法はありますか? (はい、IEを使用しないでください:))

更新: イベント ハンドラー関数で何もしなくても、CPU 使用率は依然として高いままです。これが私のコードです:

$("#container").live("mousemove", function(e){

});

それは正常ですか?

4

2 に答える 2

2

mousemove イベントで jquery セレクターを使用していますか? 複雑なページでjqueryセレクターの速度が低下するケースを見てきました。セレクターを何度も発生するイベントに配置すると、顕著な遅延が発生します。多くの場合、mousemove の前に要素への jquery 参照を格納するだけで、mousemove は呼び出されるたびに DOM を内部的に再走査するセレクターを再度使用する代わりに、要素参照を使用します。

于 2010-04-29T17:13:12.247 に答える
0

IE であっても、単純な更新をマウス移動イベントにバインドすることに問題はありません。最近無数の Web サイトで見られるように、ドラッグ アンド ドロップはまさにこの方法で実装されています。

CPU に大きなスパイクが見られる場合は、根本的な原因がもっと大きいと考えられます。

于 2010-04-29T17:07:36.590 に答える