jquery mouseover和mouseout bug

时间:2014-02-11 12:00:43

标签: jquery ajax rollover rollout

当我翻转一个元素时(我看到包含该元素的整体数据),我试图预览一些东西,当我推出时,一切都恢复原样。问题是当我快速移动鼠标光标时,鼠标输出方法没有发生,数据仍然更新,我不想这样做。知道我怎么能这样做吗?

$(document).on("mouseover", ".checkRezolvata", function(e){
var idTemp = "";
idTemp = $(this).parent().parent().parent().attr("id");
data = {
id: idTemp,
set: 1    }

$.ajax({
    type: "POST",
    url: "crm/setRezolvataTemp.php",
    data: data,
    async: false,
    success: function(data){
    if(data == 1) {
        getStats();
        getTarget();                            
    } else 
    alert("Eroare la schimbarea starii crmului temp!");
    },error: function(){
    alert("eroare");
    }
});             
});

$(document).on("mouseout", ".checkRezolvata", function(){
var idTemp = "";
idTemp = $(this).parent().parent().parent().attr("id");
data = {
id: idTemp,set: 0}

$.ajax({
type: "POST",
url: "crm/setRezolvataTemp.php",
data: data,
async: false,
success: function(data){
    if(data == 1) {
    getStats();
        getTarget();                            
} else 
alert("Eroare la schimbarea starii crmului temp!");
},error: function(){
alert("eroare");
}
});             
});     

1 个答案:

答案 0 :(得分:1)

您可以在jQuery中尝试mouseentermouseleave事件处理程序。 mouseovermouseout通常有点棘手,另请参阅:

http://api.jquery.com/mouseenter/

http://api.jquery.com/mouseleave/

  

mouseenter事件在处理事件冒泡的方式上与鼠标悬停不同。如果在此示例中使用鼠标悬停,则当鼠标指针移过Inner元素时,将触发处理程序。这通常是不受欢迎的行为。另一方面,mouseenter事件仅在鼠标进入绑定的元素而不是后代时触发其处理程序。因此,在此示例中,处理程序在鼠标进入外部元素时触发,而不是内部元素。