我正在FabricJS
canvas库上构建一个图表库。到目前为止,一切都运行良好,如图所示:
但是,我已经开始实施click
个事件并遇到了问题。由于某些原因,点击事件不能完全发挥作用 - 它适用于某些区域,而其他区域则不适用。例如,对于底部绘图区域(<div>
,其中<canvas>
),单击事件非常尴尬:当我点击绿色区域时,它表示我已经点击了紫色区域,而前100个奇数像素的蓝色区域不会发出点击事件:(。另一方面,顶部情节区域工作正常。
我已经完全阅读了FabricJS
上的整个文档,并且意识到它的缺陷,但我不明白为什么会发生这种情况。我已经看到人们为了刷新路径坐标而调用path.setCoord()
,但这没有帮助。
还有一件事,因为我正在编写GWT
模块,我需要在JSNI
中编写JS
包装,但我相信我做的是正确的。
我是否可能忽略了有关FabricJS
的内容?
更新:
生成的HTML:
边界框 - 下方地块区域的蓝色区域
完全相同的边界框位于上方蓝色区域: - /
答案 0 :(得分:2)
使用canvas.calcOffset()
重新计算画布元素的正确位置。