createJs 手机点击触发两次解决方法

时间:2021-07-23 21:50:46

问题讨论issues:https://github.com/CreateJS/EaselJS/issues/586

问题介绍

为了兼容手机,开启了touch支持

reatejs.Touch.enable(stage, false, true);

官网介绍:
createJs 手机点击触发两次解决方法
因为浏览器中需要用户滑动,并且使用了pressmove事件,因此函数的第三个参数选择为true。此时在手机端的点击事件出现触发两次的问题。

问题解决

在点击事件的函数中加入如下语句:

event.nativeEvent.preventDefault();

其他点击事件问题解决

查资料时,发现有很多有关事件不支持的提问,大多数是因为createJs本来就没有那个名字的事件,比如mousemove,touchstart等。
createJs支持的事件有:on, added, click, dbclick, drawend, drawstart, mousedown, mouseenter, mouseleave, mouseout, mouseover, pressmove, pressup, removed, rollout, rollover, stagemousemove, stagemousedown, stagemouseup, tick, tickstart, tickend.
详情参考别人的总结:
https://segmentfault.com/a/1190000004374399