如何正确停止mousemove事件?

时间:2012-08-22 06:15:20

标签: javascript html events dom drag-and-drop

我正试图看看如何拖拽drop适用于原生javascript。我正在编写一个简单的javascript函数来实现它。它有效,但不正确。

http://jsfiddle.net/FKM5S/

当您将白框慢慢移向黑匣子时,白框会按设计停止。当您快速移动白盒时,它实际上与黑盒重叠。

在我的javascript代码中,我检查白框是否与黑匣子重叠,然后返回false。

var beforeMovePassed = this.callbacks.beforeMove();

if( beforeMovePassed )
{
    return false;
}

我不确定为什么会这样。

如何正确停止事件,以便无论您的拖动速度如何,白框都不会与黑匣子重叠?

2 个答案:

答案 0 :(得分:2)

请注意,不是每次更改都会调用事件处理程序,调用之间的ms有一些限制,这取决于很多因素。

因此,只要每次检查白盒子都是黑盒子就更好了,如果是这样,那么你自己将它移动到正确的位置。

答案 1 :(得分:0)

我不确定

但是尝试使用event.preventDefault()在这种情况下你必须有事件对象的引用。

希望它能起作用!!