鼠标悬停/鼠标移动时$ .get获取的数据滞后

时间:2015-03-31 16:40:38

标签: javascript jquery

我从数据库中获取值并将其置于悬停状态。

的jquery.js

$(".hovertext").mouseover(function(){
    $.get('test.php',function(data){
    $(".hovertext").text(data);
    });
});
$(".hovertext").mouseout(function(){
    $(".hovertext").text("See Value");
});

此处,mouseovermouseout事件正在发挥作用。但有时(一次在10中)获取的数据mouseout

上没有变为参见值

但这很好。

    $(".hovertext").mouseover(function(){
        $(".hovertext").text("Hey There");
    });
    $(".hovertext").mouseout(function(){
        $(".hovertext").text("Hellooooo")
    });


我希望你明白我的意思。 提前致谢。
而且,抱歉我的英文。

1 个答案:

答案 0 :(得分:2)

这是因为$ .get()是对服务器的异步调用,它可能在mouseout回调之后执行,这是本地的,因此更快。

尝试使用标志:

var mouseover=false;

$(".hovertext").mouseover(function(){
    mouseover=true;
    $.get('test.php',function(data){
        if(mouseover){
            $(".hovertext").text(data);
        }
    });
});
$(".hovertext").mouseout(function(){
    $(".hovertext").text("See Value");
    mouseover=false;
});