0

我试图在滚动元素时预览某些内容(以查看包含该元素的整体数据)并且当我推出时一切都恢复原状。问题是当我快速移动鼠标光标时,有时mouseout方法没有发生并且数据保持更新,我不希望那样。知道我该怎么做吗?

$(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");
}
});             
});     
4

1 回答 1

1

您可以尝试 jQuery 中的mouseentermouseleave事件处理程序。mouseover并且mouseout通常有点棘手,另请参阅:

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

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

mouseenter 事件在处理事件冒泡的方式上与 mouseover 不同。如果在这个例子中使用了 mouseover,那么当鼠标指针移动到 Inner 元素上时,将触发处理程序。这通常是不受欢迎的行为。另一方面,mouseenter 事件仅在鼠标进入它所绑定的元素而不是后代元素时触发其处理程序。所以在这个例子中,当鼠标进入 Outer 元素而不是 Inner 元素时,会触发处理程序。

于 2014-02-11T12:06:40.567 回答