使用Createjs / Easeljs处理触摸事件

6
我正在尝试使用Createjs / Easeljs对象的触摸事件。例如,我正在尝试使用addEventListener附加touchstart和touchmove事件。 Touchstart和mousedown似乎可以正常工作:我正在使用浏览器和触摸设备进行测试,并且在这两种情况下似乎都能够正常工作。 但是,mousemove和touchmove似乎无法正常工作。 我想这是因为我删除了stopPropagation和preventDefault方法,但我看到Lanny McNie写道,在CreateJS中不需要这样做1。 我无法弄清楚为什么它不起作用。 这是我的代码:http://pastebin.com/pqxWLNKG 问候。

假设已经正确启用,我建议在适当的设备特定代码中设置断点,看看是否是浏览器问题或其他问题。 - WiredPrairie
@WiredPrairie,我希望我能够这样做,但我认为远程调试控制台尚未启用。 - Cod1ngFree
你的设备可能没有经过测试...我想知道它是否没有正确发送事件(所以也许问题不在于库而是手机本身?) - WiredPrairie
@WiredPrairie,有没有其他方法可以使用其他设备或模拟器测试触摸事件?是否有浏览器扩展或插件可以将点击转换为触摸? - Cod1ngFree
你是否有iPad、iPhone或现代Android设备?你可以在Android开发工具包中获取Android模拟器。 - WiredPrairie
显示剩余2条评论
1个回答

12
您可以使用EaselJS中包含的Touch类来启用多点触控 - 这将转换为正常的EaselJS mousedown / mousemove事件。请查看DragAndDrop演示:http://www.createjs.com/demos/easeljs/draganddrop
createjs.Touch.enable(stage);

干杯。


非常感谢。有没有办法用addEventListener替换onPress、onMouseMove、onMouseOver和onMouseOut?如果我使用createjs.Touch.enable(stage)创建了触摸类,那么它只能为onAction方法启用多点触控吗? - Cod1ngFree
触摸类只是代理现有的交互。onAction回调已经过时 - 鼓励使用事件模型! - Lanny
这太棒了!在看到这个之前,我一直在尝试使用fastclick.js,但无法实现我想要的效果。谢谢! - Joe Shock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接