【问题标题】:Stopping Mouse Events In EaselJS在 EaselJS 中停止鼠标事件
【发布时间】:2016-08-18 03:39:46
【问题描述】:

防止在画架JS中触发事件处理程序的最佳方法是什么?在其他项目中,我会使用 e.stopPropagation 但这似乎不适用于easelJS。

问题是我正在使用一个使用easelJS 并具有“pressmove”事件处理程序来启用拖放的库。如果在触发事件时持有修饰键(如 ctrl 或 shift),我想阻止此处理程序被触发。在检查是否保留了修饰符后,如果需要,我理想情况下可以触发原始的 pressmove 处理程序。

【问题讨论】:

    标签: javascript createjs easeljs


    【解决方案1】:

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

    理想情况下,如果您有想要阻止某行为的条件,请在您的事件处理程序中查找该条件,并有条件地处理该行为。

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

    您还可以切换mouseEnabled 来阻止对象响应鼠标事件(如果您想阻止容器子级上的事件,还可以切换mouseChildren)。

    obj.mouseEnabled = false;
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-02
      • 2014-07-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      相关资源
      最近更新 更多