2016-08-17 120 views
0

避免在easelJS中觸發事件處理程序的最佳方法是什麼?在其他項目中,我會使用e.stopPropagation,但這似乎不適用於畫架。在EaselJS中停止鼠標事件

問題是我正在使用一個使用easelJS的庫,並有一個「pressmove」事件處理程序來啓用拖放操作。我想阻止這個處理器被觸發,如果一個修改鍵,如ctrl或shift,在事件觸發時被保持。在檢查一個修飾符是否被保持之後,如果需要的話,理想的情況是能夠觸發原始的pressmove處理程序。

回答

1

stopPropagation方法可防止事件冒泡,不會觸發。您可以使用stopImmediatePropagation來防止同一級別的其他聽衆在之後收到事件(行爲取決於事件的順序)。

理想情況下,如果您有一個條件要阻止某個行爲,請在您的事件處理程序中查看該條件,並有條件地處理該行爲。

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

您還可以切換到mouseEnabled防止物體從響應鼠標事件(如果你想阻止一個容器的子事件mouseChildren)。

obj.mouseEnabled = false; 

希望有幫助。