【发布时间】:2011-08-07 17:00:22
【问题描述】:
我有一个场景,我正在监听一个对象的 CLICK 和 MouseDown 事件。
在 MouseDown 上,我执行startDrag()。在 Click 上,我执行其他操作。
但问题是,MouseDown 事件首先触发并启动拖动。点击事件不会触发。我该如何解决这个问题?
【问题讨论】:
标签: apache-flex flex4 mouseevent onmousedown
我有一个场景,我正在监听一个对象的 CLICK 和 MouseDown 事件。
在 MouseDown 上,我执行startDrag()。在 Click 上,我执行其他操作。
但问题是,MouseDown 事件首先触发并启动拖动。点击事件不会触发。我该如何解决这个问题?
【问题讨论】:
标签: apache-flex flex4 mouseevent onmousedown
您可以监听 MouseDown 事件,并在它触发时订阅 MouseMove 和 MouseUp 事件并记住 MouseDown 上光标的坐标。然后确定一个增量(比如 1px),这将是开始拖动的标志。因此,如果 MouseMove 调用您检查当前鼠标位置并确定用户是否真的在拖动(使用您的增量)。在这种情况下调用startDrag()。否则会调用 Click 事件。
记住退订事件! :)
【讨论】: