【问题标题】:MouseDown/MouseMove/Click Issues with Flex Drag and Drop与 Flex 拖放有关的 MouseDown/MouseMove/Click 问题
【发布时间】:2026-01-31 15:25:01
【问题描述】:

在 Flex 3 中,我有一个 ItemRenderer,其中有一个按钮。我希望用户能够单击并拖动此渲染器,但也只需单击按钮。

现在它正在与侦听“MouseMove”的渲染器一起使用以启动拖放操作,以及侦听“点击”的按钮。

但是,这非常古怪。如果有人拖动滚动条并靠近该渲染器,则 MouseMove 会在渲染器上触发并开始拖动。 (或者如果有人正在调整 HDdivedBox 的大小,基本上如果有人在应用程序中的任何位置发起点击并滚动此渲染器,我们就会得到不必要的拖动。

另一种方法是在 MouseDown 而不是 MouseMove 上侦听,这解决了以前的问题,但是嵌套按钮失去了点击。我可以点击按钮,但渲染器只是认为是时候拖动了。

这里面还有吗?

【问题讨论】:

    标签: flash apache-flex drag-and-drop


    【解决方案1】:

    一种快速、简单的处理方法是让按钮侦听 MouseDown,并通过在事件侦听器中调用 event.stopPropagation() 来防止事件冒泡到您的渲染器。

    【讨论】: