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)
2014-10-29 14:28 上传
点击文件名下载附件
作者:
lufy
时间:
2014-10-29 17:02
多谢建议,确实getBoundingClientRect更合理一些
欢迎光临 lufy's legend (http://lufylegend.com/forum/)
Powered by Discuz! X2.5