2014-03-02 27 views
1

http://jsfiddle.net/63Y54/2/MOUSEDOWN触发事件,那么当鼠标被移动关闭元件和MouseUp触发它不起作用

在示例中,用户点击时上述和同时按住鼠标按钮向下拖动向左或向右了画布和然后将手指从振荡器音符挂起的鼠标上移开。我想解决这个问题。我很好奇,如果他们是一个简单的方法,这样做..

if (mouseup == !htmlElement){ 
    then.... 
} 

在这种情况下,HTML元素将是canvas元素因为这是用户点击。

作为一个尝试解决这个问题,我通过将它的CSS宽度和高度设置为100%来使body元素包含页面。

然后我创建了一个函数,该函数使用mouseup click处理程序来启动oscillator.stop()方法来选择body元素。这仅在用户将鼠标移动到页面的一侧时才起作用,但当他们将向下移动时,它仍然会创建悬挂笔记。

这个伪解决方案是在这里:

http://jsfiddle.net/63Y54/5/

+0

您是否尝试使用'$(document).mouseout()',因为当您的鼠标移出机体时,您的悬挂状况就会发生。 –

+0

这可行,但我仍然好奇它们是否类似于我的'mouseup ==!htmlElement'伪代码在 – William

+0

以上,在'document'中,所有元素都是HTML,所以只有你有办法在这些元素中检测'mouseout'或'mouseup',或者另一种是使用'.blur()'如果焦点从窗体的''canvas'然后'oscillator.stop();'发生。 –

回答

相关问题