- 注册时间
- 2014-9-23
- 最后登录
- 2015-3-19
- 阅读权限
- 20
- 积分
- 13
- 精华
- 0
- 帖子
- 2
|
引擎框架有有ll_touchStart这个方法,当用户进行事件点击时,会触发,并且获取目前canvas所在的位置,但获取位置存在问题,
var canvasX = parseInt(0 + LGlobal.object.style.left) + parseInt(LGlobal.canvasObj.style.marginLeft),
canvasY = parseInt(0 + LGlobal.object.style.top) + parseInt(LGlobal.canvasObj.style.marginTop), eve, k, i;
canvasX与canvasY的样式要在绝对定位时,才会存在LGlobal.object.style.left与LGlobal.object.style.top,但如果一个页面中,存在上层div与下层div时,用的是相对定位relative,此时canvas 在下层div,获取canvasY必然出错,就会以最上层的位置所决定;
所以目前建议用getBoundingClientRect这个方法,代码修改如下:
var canvasRectangle = LGlobal.object.getBoundingClientRect(),canvasX = parseInt(canvasRectangle.left), canvasY = parseInt(canvasRectangle.top), eve, k, i;
如果以上提出的问题,存在不对地方,请提出,谢谢。
|
|