1

我有一个场景,我正在监听一个对象的事件CLICKMouseDown事件。

在 MouseDown 我做一个startDrag(). 在 Click 上,我执行其他操作。

但问题是,MouseDown 事件首先触发并启动拖动。点击事件不会触发。我该如何解决这个问题?

4

1 回答 1

2

您可以监听 MouseDown 事件,并在它触发时订阅 MouseMove 和 MouseUp 事件并记住 MouseDown 上光标的坐标。然后确定一个增量(比如 1px),这将是开始拖动的标志。因此,如果 MouseMove 调用您检查当前鼠标位置并确定用户是否真的在拖动(使用您的增量)。在这种情况下调用startDrag(). 在其他情况下,将调用 Click 事件。

并记住退订事件!:)

于 2011-04-18T10:29:45.467 回答