我可以跟踪拖动事件吗?

Posted

技术标签:

【中文标题】我可以跟踪拖动事件吗?【英文标题】:Can I track drag event? 【发布时间】:2014-01-22 01:23:27 【问题描述】:

我想在某些 UIComponent 上调用 startDrag,然后在每次拖动组件的位置发生变化时接收事件。这可能吗?我还没有发现任何可能性。

【问题讨论】:

也许检查鼠标移动处理程序中是否有东西被拖动。 【参考方案1】:

我认为您可能想要使用 MouseDown、MouseMove 和 MouseUp。

var myUIComponent
var isDown:Boolean = false;
var startX:Number = 0;
var startY:Number = 0;

myUIComponent.addEventListener(MouseEvent.MOUSE_DOWN, down);

function down(e:MouseEvent)
    startX = e.stageX;
    startY = e.stageY;
    isDown = true;
    stage.addEventListener(MouseEvent.MOUSE_MOVE,moving);
    stage.addEventListener(MouseEvent.MOUSE_UP, up);


function moving(e:MouseEvent)

    if (isDown)
        var distanceX = startX - e.stageX;
        var distanceY = startY - e.stageY;
        // Do something
    


function up(e:MouseEvent)

    stage.removeEventListener(MouseEvent.MOUSE_MOVE,moving);
    stage.removeEventListener(MouseEvent.MOUSE_UP, up);
    isDown = false;

【讨论】:

以上是关于我可以跟踪拖动事件吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以使用相同的跟踪ID创建多个跟踪器吗?

有任何工具可以跟踪 iOS 上特定文件的页面错误和其他相关事件吗?

在java中跟踪鼠标移动

如果我还没有使用 bind 或 click 将事件处理程序绑定到它,我可以调用 jQuery 的 click() 来跟踪 <a> 链接吗?

平滑的位置跟踪反应原生地图

如何在 Instruments 上跟踪 UI 事件