javascript - Canvas 标签中的 addEventListener

标签 javascript html canvas dom-events

我有一个用于创建图形的 Canvas 标签。在我的行的每一部分,我都有一个“点”来启用“鼠标悬停”并显示更多细节。

当我不向该点添加事件监听器时,一切正常。

Firebug 正在警告我:

s.addEventListener is not a function...

是否可以创建动态事件监听器? (我是 Javascript 的新手)

最佳答案

您不能将 DOM 事件附加到 DOM 对象(元素)以外的事物。 canvas 是一个 DOM 元素,您绘制到 Canvas 上的东西不是。它们作为 img 的像素成为 Canvas 的一部分。

为了检测对 Canvas 上特定点的点击,您必须在 Canvas 元素上附加点击事件,然后将点击事件的 x/y 坐标与 Canvas 的坐标进行比较。

这在“How do I get the coordinates of a mouse click on a canvas element?”中得到了回答

关于javascript - Canvas 标签中的 addEventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532739/

相关文章:

javascript - 从表单字段中获取最大数字

javascript - 是否可以让一个方法像 javascript 类中的属性一样?

python - 使用 matplotlib 清除 Tkinter Canvas 小部件的问题

jquery - 不使用 onclick 的情况下删除表中每个动态创建的行的按钮

javascript - 如何重新绘制 Canvas 的特定部分?

javascript - 圆 Angular 内的圆形物体边界检测

javascript - 延迟的 Angular $timeout

javascript - 如何用 Jasmine 测试日期(无效日期)

css 代码行上的 javascript 未知错误

javascript - 在上一张幻灯片后继续滚动