【问题标题】:jquery mouseover and mouseout bugjquery mouseover 和 mouseout 错误
【发布时间】: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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    相关资源
    最近更新 更多