Flex拖放

时间:2011-02-23 01:23:48

标签: flex drag-and-drop

我在画布中显示的图像可以放大。 问题是,当放大时,我尝试拖动图像,我可以看到前景中图像的轮廓,(即)在画布边界之外。 反正是否告诉dragHandler在画布边界外裁剪“抓住”图像?

1 个答案:

答案 0 :(得分:0)

根据我使用内置拖放功能的经验,对于涉及在画布中移动组件的内容来说,这样做有些过分。

更简单的方法(在我看来)就是在画布中自己聆听鼠标按下/向上/移动图像。

当你在图像上检测到鼠标时,添加一个鼠标移动的监听器(专业提示:确保在调用addEventListener时将useCapture设置为true)并存储鼠标相对于图像原点的位置。然后,无论何时移动鼠标,都要在画布中更改图像的位置,同时考虑鼠标在图像中的位置(存储在鼠标中)。继续这样做,直到发生鼠标移动,然后移除鼠标移动监听器。

还有一些额外的细节需要考虑(如果用户在画布之外拖动?或者在浏览器窗口之外?),这会让你开始。

希望有所帮助。