【发布时间】:2014-03-09 04:53:54
【问题描述】:
我试图在滚动元素时预览某些内容(以查看包含该元素的整体数据)并且当我推出时一切都恢复原状。问题是当我快速移动鼠标光标时,有时不会发生 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");
}
});
});
【问题讨论】:
-
改用
mouseenter/mouseleave怎么样?! -
mousetner/mouseleave 也有同样的问题
-
所以请提供一个 jsfiddle 来复制您的问题
-
现在执行此操作有点复杂,假设您有 2 个操作,一个在 mouseetner 上,一个在 mouseleave 上。如果您将光标足够快地移动到元素上,如果 mouseenter 发生,则 mouseleave 有可能不会发生。我稍后会发布一个小提琴。谢谢!
-
不应该这样。关于此 AFAIK 的唯一错误是,在某些浏览器上,当您同时离开元素和文档/窗口时,当元素跨越窗口边界时。然后是的,有时 mouseleave 事件不会被触发。
标签: jquery ajax rollover rollout