lufy's legend

标题: 关于ll_touchStart获取相对位置存在可能完善的地方。 [打印本页]

作者: xjl    时间: 2014-10-29 14:35
标题: 关于ll_touchStart获取相对位置存在可能完善的地方。
引擎框架有有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;


如果以上提出的问题,存在不对地方,请提出,谢谢。

QQ截图20141029142648.jpg (185.33 KB, 下载次数: 903)

QQ截图20141029142648.jpg


作者: lufy    时间: 2014-10-29 17:02
多谢建议,确实getBoundingClientRect更合理一些




欢迎光临 lufy's legend (http://lufylegend.com/forum/) Powered by Discuz! X2.5