2016-08-17 3 views
0

easelJSでイベントハンドラが実行されないようにするにはどうすればよいですか?他のプロジェクトでは、e.stopPropagationを使用しますが、easelJSでは動作しないようです。EaselJSでのマウスイベントの停止

問題は、easelJSを使用し、ドラッグ&ドロップを有効にするための「pressmove」イベントハンドラがあるライブラリで作業していることです。イベントがトリガーされたときに、CtrlキーやShiftキーなどの修飾キーが押されていると、このハンドラが起動されないようにしたいと思います。モディファイアが保持されているかどうかを確認した後、必要ならば元のpressmoveハンドラをトリガできるようにするのが理想的です。

答えて

1

stopPropagationメソッドは、イベントが発生するのを防ぎ、発砲しないようにします。 stopImmediatePropagationを使用すると、の後に同じレベルの他のリスナーがイベントを受信しないようにできます(動作はイベントの順序によって異なります)。

動作を防止するための条件がある場合は、イベントハンドラでその動作を調べ、動作を条件付きで処理するのが理想的です。

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

また、(あなたがコンテナの子でイベントをブロックしたい場合やmouseChildren)マウスイベントへの応答からオブジェクトを防ぐためにmouseEnabledを切り替えることができます。

obj.mouseEnabled = false; 

希望します。

関連する問題