有没有一种方法可以在拖动元素时检测鼠标离开?
我尝试拖放元素,如果它位于视口(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)一个事件处理程序,当鼠标离开某个元素时触发该事件处理程序,或在某个元素上触发该处理程序。
关于单击鼠标时Javascript mouseleave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324872/