[]Laya定位和事件绑定

我将Laya.init(500, 300)放置到DIV中,并且固定了DIV的位置(position: relative)。从而导致,我new了一个Text,再给Text绑定事件后,点击Text无法触发事件。
已邀请:

layaBox2018

赞同来自:

自己顶一下,大概原因。

由于Laya.init初始化成功后,其位置是(0, 0),从而导致其绑定的事件位置是基于(0, 0)的,猜测事件的位置已被定位。
而后将Laya.init的返回值Canvas标签 append进DIV,由于该DIV是做了页面定位,所以就强行的将Canvas放到了DIV中,而在后面异步创建的图片对象,虽然图片位置正常,但是其事件的位置没有变化。

以上是个人分析的结果,求大神指正并解答,谢谢。
 

layaBox2018

赞同来自:

自己再顶一下,解决方案。
 
依据论坛里小伙伴们的问题,得出解决方案:
由于事件的位置是基于Canvas的,因此我们想得到事件的准确位置,则需要对Canvas进行初始化定位。
Laya.Render._mainCanvas.source.style.left = "190px"; 
Laya.Render._mainCanvas.source.style.top = "90px";
 
因为我们的页面布局都是使用DIV+CSS布局的,而这种方法需要使用JS来动态计算Canvas尺寸、坐标,感觉对使用DIV+CSS布局的侵略性比较大,有没有更好的解决方案呢?ヾ(。 ̄□ ̄)ツ゜゜゜

Monica - 知识达人

赞同来自:

你这个建议使用iframe

要回复问题请先

商务合作
商务合作