Gwt FabricJS点击事件

Gwt FabricJS点击事件,gwt,canvas,fabricjs,Gwt,Canvas,Fabricjs,我正在FabricJScanvas库之上构建一个图表库。到目前为止,一切正常,如图所示: 但是,我已经开始实现单击事件,并且遇到了一个问题。由于某些原因,单击事件不能完全工作-它在某些区域工作,而在某些区域不工作。例如,对于底部打印区域(,其中包含),单击事件工作非常尴尬:当我单击绿色区域时,它表示我已单击了紫色区域,而蓝色区域的前100多个像素未发出单击事件:(.另一方面,顶部打印区域工作正常 我已经完全阅读了关于FabricJS的全部文档,并意识到它的缺陷,但不知何故,我不明白为什么会发生

我正在
FabricJS
canvas库之上构建一个图表库。到目前为止,一切正常,如图所示:

但是,我已经开始实现
单击
事件,并且遇到了一个问题。由于某些原因,单击事件不能完全工作-它在某些区域工作,而在某些区域不工作。例如,对于底部打印区域(
,其中包含
),单击事件工作非常尴尬:当我单击绿色区域时,它表示我已单击了紫色区域,而蓝色区域的前100多个像素未发出单击事件:(.另一方面,顶部打印区域工作正常

我已经完全阅读了关于
FabricJS
的全部文档,并意识到它的缺陷,但不知何故,我不明白为什么会发生这种情况。我看到人们调用
path.setCoord()
来刷新路径坐标,但这没有帮助

还有一件事,由于我正在编写
GWT
模块,我需要在
JS
中编写
JSNI
包装器,但我相信我做得是正确的

我是否忽略了有关
FabricJS
的一些内容?

更新:

生成的HTML:

边界框-下部打印区域中的蓝色区域


上蓝色区域上有完全相同的边界框:-/

使用
canvas.calcOffset()
重新计算画布元素的正确位置。

不看实际示例很难判断。这些形状的边界区域是什么?这是对结构中的事件作出反应的区域。此外,它是
setCoords
而不是
setCoords
(不确定是在此处还是在代码中键入)@kangax感谢您的回答。这是一个输入错误-我的意思是
setCoords()
。我将尝试隔离蓝色区域的边界框数据。开始怀疑“绘图区域”的相对位置我用生成的HTML更新了这个问题:两个
都是相对定位的,而
都是绝对定位的…我隔离了边界框,考虑到下绘图区域与
是分开的,这些值似乎是预期的,对吗?所以看起来像是你们彼此都喝咖啡,对吗?