javascript - 禁用鼠标悬停事件然后重新启用

标签 javascript jquery jquery-events

如何在鼠标悬停后取消绑定(bind)或禁用鼠标,然后在另一个框淡出时重新启用。

我尝试了解除绑定(bind),但似乎它不起作用,它只是禁用了整个功能。

我什至尝试了暂停,但这对我没有好处。

如有任何帮助,我们将不胜感激。

$("#shopping_basket").mouseover(function() { 
            // set a timeout so that this event will not trigger twice when mouseover from the bottom
            setTimeout(function() {
                /*$("#shopping_basket").unbind(mouseover);*/
                $("#miniBasketDetails").fadeIn(500);
            },500);
            });     
        $("#miniBasketDetails").mouseleave(function() { $("#miniBasketDetails").fadeOut(500); });

最佳答案

只是猜测,尝试这样的事情:

$("#shopping_basket").bind('mouseover', function() {
  setTimeout(function() {
    $("#shopping_basket").unbind('mouseover');
    $("#miniBasketDetails").fadeIn(500);
  }, 500);

 //Re-enable as needed: $("#shopping_basket").bind('mouseover', function(){});
});

此代码未经测试,但应该可以工作。

我认为您的问题是您将 mouseover 作为变量而不是字符串传递到 .unbind() 中。这就是“整个事情”被禁用的原因,因为 JavaScript 正在寻找名为 mouseover 的变量,该变量未定义,并导致您的代码中断。尝试像这样:.unbind('mouseover')

关于javascript - 禁用鼠标悬停事件然后重新启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832312/

相关文章:

javascript - 如何根据下拉选择隐藏和显示内容

javascript - for 循环内的 Array.splice 导致错误

jquery - 在 HTML Accordion 中查找第一个 Img

html - 有没有办法暂时禁用嵌入视频的鼠标悬停事件?

javascript - 替代支持 eventData 的 jQuery .toggle() 方法?

javascript - 计算另一个页面上的类并显示它们

javascript - 有没有更好的方法来重复链接的 jQuery 方法?

javascript - 需要将条形码数据分成两个文本字段的代码

javascript - 将 jQuery UI slider 添加到动态生成的元素?

javascript - 仅当未单击另一个元素时才聚焦