Javascript 重叠对象上的HTML画布事件?
如果我有一个画布,上面有一个圆圈,在单击它时会改变颜色,那么我可以在canvas元素上使用一个click事件来处理这个问题(距离公式计算Canvas与Flash或DOM树不同,在DOM树中,事物具有排序顺序或z索引。它更像是平面光栅图像,您必须依赖javascript中的其他逻辑来记住所绘制事物的顺序和堆叠顺序 如果你需要这种互动,我总是发现最好使用第三方库(除非它真的只是一个或两个圆圈的情况,没有太多作用) 对于交互式的基于“形状”的javascript图形,我建议使用Raphael.js或D3,它们实际上更多地是SVG工具,而不是画布工具,因此可能不适合您,但它们简单且跨浏览器 还有processing.js(处理Java库的js端口),感觉有点像flash,可以跟踪所有级别和对象 如果非常简单,则选项可能是:Javascript 重叠对象上的HTML画布事件?,javascript,html,canvas,Javascript,Html,Canvas,如果我有一个画布,上面有一个圆圈,在单击它时会改变颜色,那么我可以在canvas元素上使用一个click事件来处理这个问题(距离公式计算Canvas与Flash或DOM树不同,在DOM树中,事物具有排序顺序或z索引。它更像是平面光栅图像,您必须依赖javascript中的其他逻辑来记住所绘制事物的顺序和堆叠顺序 如果你需要这种互动,我总是发现最好使用第三方库(除非它真的只是一个或两个圆圈的情况,没有太多作用) 对于交互式的基于“形状”的javascript图形,我建议使用Raphael.js或D
您可能需要一个像EaselJS这样的框架,它有一个更好的api来完成您的任务。Barebones canvas 2d上下文在显示对象/精灵行为方面没有提供太多
上面的回答还提到了一些表示层的列表。我不认为实现会很困难,只是需要检查radius的另一个条件。我认为使用javascript库是个好主意,我想试试kinetic.js