gpt4 book ai didi

javascript - Sketch.js pageX 未定义错误

转载 作者:行者123 更新时间:2023-11-30 07:08:47 25 4
gpt4 key购买 nike

我在我的 phonegap 应用程序中使用了 intridea 的 sketch.js。修改后它工作正常

 case 'touchstart':
if (this.painting) {//add
this.stopPainting();
//add
}//add
this.startPainting();
break;

通过将以上几行添加到代码中。但是我收到了 pageX 未定义错误,这使我的应用程序崩溃了。

01-23 19:53:59.342: E/Web Console(31932): Uncaught TypeError: Cannot read property 'pageX' of undefined at file:///android_asset/www/js/external_libs/sketch.js:107

如何克服这个问题,任何帮助将不胜感激。谢谢

最佳答案

好像每个人都切换到 jqscribbel.js,但是要直接用 sketch.js 回答这个问题,你需要检查是否定义了 e.originalEvent.targetTouches[0]。我还没有深入研究 sketch.js,但似乎当触碰事件被触发时,e.originalEvent.targetTouches[0] 不再被定义,所以试图找到 .pageX 的 undefined 会报错。此错误会导致整个 Canvas 重新绘制,因此您不能在 Canvas 上绘制超过 1 个草图。要修复此错误,只需添加找到以下两行代码(大约第 100/101 行):

e.pageX = e.originalEvent.targetTouches[0].pageX;
e.pageY = e.originalEvent.targetTouches[0].pageY;

并替换为

if (e.originalEvent.targetTouches[0] !== undefined && e.originalEvent.targetTouches[0].pageX !== undefined){
e.pageX = e.originalEvent.targetTouches[0].pageX;
}
if (e.originalEvent.targetTouches[0] !== undefined && e.originalEvent.targetTouches[0].pageY !==undefined){
e.pageY = e.originalEvent.targetTouches[0].pageY;
}

关于javascript - Sketch.js pageX 未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21311073/

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