Javascript Mousedown触发事件,然后当鼠标移出元素并触发mouseup时,它不会';行不通
在上面的示例中,当用户在按住鼠标按钮的同时单击并向左或向右拖动画布,然后将手指从鼠标上取下时,振荡器音符将挂起。我想解决这个问题。我很好奇他们的行为是否是一种简单的方式,比如Javascript Mousedown触发事件,然后当鼠标移出元素并触发mouseup时,它不会';行不通,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,在上面的示例中,当用户在按住鼠标按钮的同时单击并向左或向右拖动画布,然后将手指从鼠标上取下时,振荡器音符将挂起。我想解决这个问题。我很好奇他们的行为是否是一种简单的方式,比如 if (mouseup == !htmlElement){ then.... } 在本例中,html元素将是canvas元素,因为用户正在单击它 为了解决这个问题,我将页面的CSS宽度和高度设置为100%,从而使body元素包含页面 然后,我创建了一个函数,该函数使用mouseup click处理程序选择bod
if (mouseup == !htmlElement){
then....
}
在本例中,html元素将是canvas元素,因为用户正在单击它
为了解决这个问题,我将页面的CSS宽度和高度设置为100%,从而使body元素包含页面
然后,我创建了一个函数,该函数使用mouseup click处理程序选择body元素,该处理程序启动振荡器.stop()方法。这仅在用户将鼠标移到页面一侧时有效,但向下移动时仍会创建挂起的便条
此伪解决方案如下所示:
我想这个类似的问题回答了你的问题 下面是一个叫迈克的家伙的代码:
var isDown = false;
$("#element").mousedown(function(){
isDown = true;
});
$(document).mouseup(function(){
if(isDown){
//do something
isDown = false;
}
链接中还有额外的代码处理边缘情况。您是否尝试使用
$(document).mouseout()
,因为您的挂起状态是在鼠标离开身体时发生的。这是可行的,但我仍然好奇它们是否与我的“mouseup==”相似!htmlElement’上面的伪代码,在文档中,所有元素都是HTML的,所以只有你才能在这些元素中检测mouseout
或mouseup
,或者另一种方法是使用.blur()
如果从你的画布上聚焦,那么振荡器.stop()代码>发生。