【问题标题】:How to handle mouseover event in EaselJS?如何在 EaselJS 中处理鼠标悬停事件?
【发布时间】:2013-05-02 21:00:56
【问题描述】:

我正在使用 EaselJS,我想在鼠标悬停在图像上时更改(稍微放大)图像。看来 mouseover 和 mouseout 事件会是一个很好的方法。

http://www.createjs.com/Docs/EaselJS/classes/Container.html#event_mouseover

但是,文档中没有示例,或者至少我找不到任何示例。我试过谷歌搜索,但没有运气。

我尝试过这样的事情:

stage.enableMouseOver();
var btn  = new createjs.Bitmap("mybtn.png");
btn.mouseover = function() {
    btn.x++;
};

发现这行得通:

btn.onMouseOver = function() {
    btn.x++;
};

但文档说这种变体已被弃用,应该使用事件。正确的方法是什么?

【问题讨论】:

标签: mouseover easeljs


【解决方案1】:

您应该使用addEventListener,如本例所示(每次将鼠标移到圆圈上,alpha/透明度都会改变):

http://jsfiddle.net/wiredprairie/U3PYD/

circle.addEventListener("mouseover", function() {
   circle.alpha *= .80;
   stage.update();
});

假设您也将 enableMouseOver 称为 documented

stage.enableMouseOver(20);  

【讨论】:

  • 这方面的性能影响很大,这太糟糕了。仅启用鼠标悬停事件(实际上不添加任何处理程序)会对我的应用程序产生巨大的性能影响。
  • 是的——它需要在你移动鼠标时计算命中测试区域,所以它会影响性能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-05
  • 2012-04-30
  • 1970-01-01
相关资源
最近更新 更多