在EaselJS中停止鼠标事件

Stopping Mouse Events In EaselJS

本文关键字:鼠标 事件 EaselJS      更新时间:2023-09-26

防止事件处理程序在easelJS中被触发的最佳方法是什么?在其他项目中,我会使用e.s stoppropagation,但这似乎在easelJS中不起作用。

问题是我正在使用一个使用easelJS的库,并有一个"pressmove"事件处理程序来启用拖放。我想防止这个处理程序被触发,如果一个修改键,如ctrl或shift,当事件被触发。在检查修饰符是否被持有之后,如果需要的话,我将能够触发原始的pressmove处理程序。

stopPropagation方法防止事件冒泡,而不是触发。您可以使用stopImmediatePropagation来防止同一级别的其他侦听器在之后接收事件(行为将取决于事件的顺序)。

理想情况下,如果你有一个条件,你想阻止一个行为,然后在你的事件处理程序中查找,并有条件地处理该行为。

obj.on("pressmove", function(e) {
  if (someCondition) {
    doSomething();
  }
});

你也可以切换mouseEnabled来阻止一个对象响应鼠标事件(和mouseChildren如果你想阻止一个容器的子事件)。

obj.mouseEnabled = false;

希望对你有帮助。