gpt4 book ai didi

javascript - 为什么 paper.js 路径创建在 iOS 设备上不起作用?

转载 作者:行者123 更新时间:2023-11-28 07:49:16 24 4
gpt4 key购买 nike

** 请参阅编辑 2 了解此问题的当前解决方案。 **

我有一个有点模糊的问题,Google 和通过 StackOverflow 搜索尚未解决。 Paper.js 无法通过 iOS 运行。

目前我正在构建一个白板绘图网络应用程序,它利用 paper.js 来实现绘图功能。它在 Chrome、FireFox 和 Safari 的桌面上运行良好。在 Android 设备上,它运行良好,但相当滞后。在 iOS 设备上使用该应用程序时会出现此问题。

出于某种原因,我的应用程序在通过移动 Safari 或移动 Chrome 在 iOS 上使用时无法创建路径。 iOS 上的行为只是一个无响应的 Canvas 。

我目前无法访问可用于远程调试的设备,因此无法收集任何有用的调试数据。

用于测试的 Web 应用程序链接。 http://alexpersian.github.io/html/whiteboard.html

涉及绘图的paperscript代码片段。

var myPath;

function onMouseDown(event) {
myPath = new Path();
myPath.add(event.point);
myPath.strokeColor = WBAPP.penColor; // WBAPP is from main Javascript
myPath.strokeWidth = WBAPP.penStroke;
myPath.strokeCap = 'round';
}

function onMouseDrag(event) {
myPath.add(event.point);
}

function onMouseUp(event) {
myPath.simplify();
}

编辑:我已经完成了一些进一步的测试,发现它可以在运行 iOS 7 的设备上运行,但不能在运行 iOS 8 的设备上运行。我很好奇 iOS 8 是否有限制 touchEvents Web 交互的更改。

编辑 2:我通过添加这段代码解决了这个问题。

document.addEventListener('touchmove', function(event) {
event.preventDefault();
}, false);

这会阻止 iOS 8 上的默认触摸操作,该操作似乎是滚动/平移操作,因为它会干扰来自 paper.js 的 onMouseDrag 事件。

Jürg Lehni,paper.js 共同创建者,正在研究是否应该将其包含在库本身中。在那之前,这段代码应该会有所帮助。

最佳答案

嘿,您可能需要实现可以使用的触摸事件 http://labs.rampinteractive.co.uk/touchSwipe/demos/要做到这一点或者 http://www.homeandlearn.co.uk/JS/html5_canvas_touch_events.html

关于javascript - 为什么 paper.js 路径创建在 iOS 设备上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com