javascript - 如何处理 Canvas 中某一层的点击?

标签 javascript html5-canvas

这是我的代码:

var background = new LibCanvas('#canv');
 var planet = background.createLayer('planet');
 var mouse = planet.listenMouse();
  mouse.addEvent('click', function () {
    //code
  });

通过点击图层是不应该的。

如果我这样做:

var background = new LibCanvas('#canv');
 var planet = background.createLayer('planet');
 var mouse = planet.listenMouse();
var info=mouse.mouse;
  info.addEvent('click', function () {
    //code
  });

点击锻炼,但它在后台断断续续地工作

最佳答案

您应该将事件绑定(bind)到元素,而不是图层。看那个例子:http://libcanvas.github.com/ui/button.html

你只需要添加类似的东西,一切都会正常工作:

button.addEvent( 'click', function (e) {
    trace(e.offset);
});

此外,在此代码中 listenMouse 返回 this,因此结果是 mouse === Planetlayer.mouse 链接到所有层上的一个对象。

var planet = background.createLayer('planet');
var mouse = planet.listenMouse();

关于javascript - 如何处理 Canvas 中某一层的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8326632/

相关文章:

javascript - 如何通过在html5中选择颜色来为特定div指定颜色

javascript - JQuery Slide 函数对于来自数据库的数据根本不起作用

javascript - Lodash 查找范围而不是数字的精确匹配

javascript - SystemJs 与 TypeScript 简单示例失败

javascript - 从列表中返回最关键的状态

javascript - Canvas 动画变慢

javascript - 想要使用 javascript 在 Canvas 中的路径上移动图像

javascript - 如何从浏览器将 UInt8Array 缓冲区写入媒体文件格式?

javascript - D3js - 使用 d3.json 从 "JSON data"输入获取绘制的折线图

javascript - 在 Canvas 上拖动和绘制图像数据传输