寻找真正跨平台的canvas事件库
Looking for canvas events library truly cross platform
我正在开发一个HTML5应用程序,我正在寻找一些JS库处理画布元素的输入,适合桌面和移动平台(否则,html 5的意义是什么?)
基本上我需要拖动形状,因为它是一个类似绘画的应用程序,并且拖动也用于在画布中导航(这是为了使它更适合移动设备-它们没有滚动条)。如果它也支持缩放就好了
我知道kinetic.js和类似的,但他们似乎有独立的库用于移动和桌面
画布没有元素,例如,在画布上绘制的圆圈也没有任何事件附加到它上-这与在DOM中工作完全不同。
你需要跟踪你在画布上绘制的每个"元素"的x/y位置,当鼠标或触摸事件发生时,取该事件的x/y位置并将其与画布"元素"的x/y位置进行匹配。
然而,你还需要做的是,它是一个基本的碰撞检测,这样你的输入(鼠标/触摸)的x/y位置不必与你的画布"元素"的x/y位置完全匹配。
使用Kinetic,你可以很容易地检测到当你在一个移动设备上有触摸事件支持,然后改变'mousedown', 'mouseup', 'click'等事件在Kinetic:
var _START, _MOVE, _END;
if('ontouchstart' in window) {
_START = 'touchstart';
_MOVE = 'touchmove';
_END = 'touchend';
}
else {
_START = 'mousedown';
_MOVE = 'mousemove';
_END = 'mouseup';
}
…然后在Kinetic的addEventListener函数中使用_START/_MOVE/_END。
希望这能有所帮助。当然,一定要小心设置全局变量,这通常是不好的做法,这只是一个例子。
动能在这里,这里有一个很好的触摸和手势事件(手势缩放)在这里。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- 查找带有边框的HTML5 Canvas(点击)事件的坐标
- Canvas仅使用fabric.js在点击事件时渲染自定义Web字体
- mousedown事件未在平板电脑/移动设备上启动,HTML5 Canvas
- 在 Kineticjs Canvas 中使用 Hammerjs 事件
- HTML5-Canvas事件处理库
- 寻找真正跨平台的canvas事件库
- Canvas游戏的Javascript事件重置
- 用JS和Canvas注册事件处理程序
- 图层二Canvas'在彼此的顶部+单击事件
- 我如何让这个HTML5 Canvas绘画应用程序同时适用于触摸和鼠标事件?
- zynga新Canvas Scrolling API添加点击事件
- html5问题中canvas上的事件监听器
- 将事件委托给canvas并在处理程序中检索Element
- 为什么我的javascript代码不运行?Canvas和javascript事件
- 如何使用“”向Canvas元素添加双击事件;AddEventListener”;方法
- 在Javascript Canvas中创建一个点击事件
- HTML canvas Javascript鼠标事件,不需要jQuery
- 如何强制Canvas事件处理程序完成更新