2017-09-13 9 views
1

私は最近この問題に遭遇しました。私はここからいくつかのトップアイデアを得ることができたらいいと思います。私のコードは以下のようになります:ajaxリクエストのmouseover/mouseoutイベント

正しい実行順序は、mouseover - generate view - mouseout - hide viewです。

しかし、ビュー部分はajaxに依存するため、ユーザーが超高速にホバリングすると、ajax呼び出しが終了する前にmouseoutイベントが発生する可能性があります。その場合、ajax呼び出しが完了した後、mouseoutイベントが既に起動されているため、ビューはただちにDOMに入ることになります。

+0

多くの方が優れています。https://stackoverflow.com/questions/7451421/jquery-ajax-mouseover-event-firing-after-mouseout – mplungjan

答えて

0

約束を使ってみましたか?

$.when($.ajax("someajaxfile.txt")).then(function(data, textStatus, jqXHR) { 
    $(document).on('mouseout', '#element', function(){ 
    // remove hover view 
}); 
}); 

あなたにもマウスアウトアンバインドする必要があるかもしれません: これは微調整が、何かのようにする必要があります。