javascript - PaperJS:当我在 Canvas 之外时会捕获事件

标签 javascript paperjs

我正在开发一个使用 Paper.js 框架在 Canvas 上绘图的工具

我在使用 iPad 时遇到问题。当我用一根手指画画时,这很有效。当我用两根手指绘图时,一根在 Canvas 中,一根在 Canvas 外,第二根手指事件被 onMouseDrag 事件捕获,这将一些笔画从第一根手指到第二根手指,这对我来说不是一个好行为.

示例:

enter image description here

一开始,我开始用一根手指画画。将第二根手指放在 Canvas 之外后,我继续移动第一根手指。这就是发生的事情。

当我在 Canvas 之外时,你有办法避免发生事件吗?

谢谢。

最佳答案

如果您不希望检测到外面的手指,请将目标限制在 Canvas 内。

 var canvasElement = document.getElementById('canvasId') //or element
    tool.onMouseDrag = function(event) {
           if (event.event.target === canvasElement) { //my target canvas was nested like this
               path.add(event.point);
               path.smooth();
           }
    }

关于javascript - PaperJS:当我在 Canvas 之外时会捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14843253/

相关文章:

javascript - "this"返回函数而不是对象

events - 输入更改时绘制形状

javascript - 如何包含在 html 中使用的脚本

javascript - 我的代码应该删除所有错误值,但事实并非如此?

javascript - 有人能告诉我为什么 json2.js 不能解析这个字符串吗?

javascript - 如何正确销毁 Paper.js Scope

javascript - paperjs:为什么 onFrame 事件在 onKeyDown 事件内部时不起作用?

javascript - view.zoom 对于 paper.js 中的大 Canvas 尺寸渲染速度很慢

javascript - 是否可以获取/设置现有路径圆的半径?

javascript - javascript中的别名函数