Sketch.js pageX属性未定义错误(Sketch.js pageX undefined e

2019-10-19 06:28发布

我使用sketch.js在我的PhoneGap intridea application.It与修改工作还好吧

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

通过将上述线路的code.But我得到它崩溃我的应用程序一个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

如何解决这个问题,任何帮助将是appreciated.Thanks

Answer 1:

看来,如果每个人都swtiched到jqscribbel.js,而是直接回答与sketch.js这个问题,你需要检查是否e.originalEvent.targetTouches[0]定义。 我没有挖成sketch.js太多呢,但似乎被触发时触上事件, e.originalEvent.targetTouches[0]不再定义,因此试图找到.pageX的不确定给出了一个错误。 此错误会导致整个画布被重新绘制,所以你不能在画布上绘制超过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;
}


文章来源: Sketch.js pageX undefined error