单击鼠标时Javascript mouseleave

标签 javascript jquery mouseleave

有没有一种方法可以在拖动元素时检测鼠标离开?

我尝试拖放元素,如果它位于视口(viewport)之外,则显示一个包含 div 元素的弹出窗口。

仅当我不拖动元素时才会触发 mouseleave,但如果我尝试拖动到外部,则不会触发 mouseleave

因此,鼠标离开而不在窗口内单击是可行的。 鼠标点击离开对我来说不起作用。

function verifyMouseLeave(el)
{
    console.log(document.onmouseleave);
    document.onmouseleave = function(){
        console.log("Mouse Out!");
        isMouseOver = true;
    }

    document.onmousedown = function(){
        console.log("Mouse Down!");
        isMouseDown = true;
    }

    if(isMouseOver == true && isMouseDown == true)
    {
        showPopup();
        el.remove();
        isMouseOver =false;
        isMouseDown = false;
    }
}

例如,我有三个 div,我想将它们移到视口(viewport)之外。 当我开始拖动 div 并将其在窗口周围移动并释放它时,我希望它保持在与初始位置相同的位置。但是,如果我将其拖到窗口之外,我想将其从此处删除并显示弹出窗口。

非常感谢。

最佳答案

尝试.mouseleave()
绑定(bind)一个事件处理程序,当鼠标离开某个元素时触发该事件处理程序,或在某个元素上触发该处理程序。

https://api.jquery.com/mouseleave/

关于单击鼠标时Javascript mouseleave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324872/

相关文章:

javascript - 我如何在 Angular.JS 中查看过滤后的集合?

jquery - 在重新加载链接样式表时强制重新计算 $(...).css ("background-image")

javascript - Chrome 在触摸板上点击会触发 mouseleave

jquery - jQuery mouseleave 的问题

javascript - jquery:在 mouseenter 上删除堆叠在另一个 <div> 之上的 <div> 并在 mouseleave 上恢复该 <div>

javascript - 将 "Xh Xm"字符串转换为整数

javascript - 测试 JavaScript 中的 Promise 处理不起作用

javascript - 检查复选框是否已选中并且禁用按钮不起作用

javascript - 管理 React 中的焦点

javascript - 如何在第一次点击时突出显示链接;并在第二次单击时跟随它,除非在其他地方单击,然后重新初始化非突出显示状态?