4

私のページには、子画像の寸法を変更する mouseenter イベントがバインドされた要素があります。

それは私が望むように動作しますが、div がある場所にカーソルを置いてページをヒットすると、読み込まれるとすぐにトリガーされます。これは望ましくありません。マウスカーソルが実際にdivに入るまで何もしないでください。最初からそこにいるだけではありません。

私はjsfiddleで例をノックアップしようとしましたが、ページの読み込みが速すぎて、カーソルを正しい場所に置くことができません:(

イベントをバインドするのに 1 秒かかるように bind メソッド呼び出しをタイムアウトにすることも 1 つの方法ですが、ユーザーがカーソルを div の上に置いたままにすると問題が発生します。

何か案は?

jQuery 1.6.2 の使用

4

2 に答える 2

8

うーん。その唯一のアイデア。

var mouse_already_there = false;
var event_set = false;
$(document).ready(function() {
    $(item).hover(function(){
        if(!event_set) { mouse_already_there = true; }
    }, function(){
        if(!event_set) { mouse_already_there = false; }
    });
    if(mouse_already_there) {
        //do nothing
    } else {
        event_set = true;
        //set event
    }
});
于 2011-09-26T11:28:44.590 に答える