lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5869|回复: 1
打印 上一主题 下一主题

关于ll_touchStart获取相对位置存在可能完善的地方。

[复制链接]

1

主题

0

好友

13

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2014-10-29 14:35:45 |只看该作者 |倒序浏览
引擎框架有有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, 下载次数: 890)

QQ截图20141029142648.jpg

回复

使用道具 举报

37

主题

8

好友

9311

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

沙发
发表于 2014-10-29 17:02:37 |只看该作者
多谢建议,确实getBoundingClientRect更合理一些
不回答与技术和引擎不相关的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-4-29 17:58 , Processed in 0.049539 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部