我使用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
看来,如果每个人都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;
}