3

我正在尝试了解拖放在本机 javascript 中的工作方式。我正在编写一个简单的 javascript 函数来实现它。它有效,但不正确。

http://jsfiddle.net/FKM5S/

当您将白盒缓慢移向黑盒时,白盒按设计停止。当您足够快地移动白盒时,它实际上会与黑盒重叠。

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

var beforeMovePassed = this.callbacks.beforeMove();

if( beforeMovePassed )
{
    return false;
}

我不确定为什么会这样。

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

4

2 回答 2

2

请注意,并非每次更改都会调用事件处理程序,调用之间的毫秒数有一些限制,这取决于许多因素。

所以你会很好,每次检查白框是正确的黑框,如果是这样,然后你自己将它移动到正确的位置。

于 2012-08-22T06:21:00.183 回答
0

我不确定

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

希望它会奏效!!

于 2012-08-22T06:25:41.667 回答