2016-08-17 8 views
0

easelJS에서 이벤트 처리기가 실행되는 것을 방지하는 가장 좋은 방법은 무엇입니까? 다른 프로젝트에서는 e.stopPropagation을 사용할 것이지만 easelJS에서는 작동하지 않는 것 같습니다.EaselJS에서 마우스 이벤트 중지

문제는 내가 easelJS를 사용하는 라이브러리에서 작업하면서 "끌어서 놓기"를 가능하게하는 "pressmove"이벤트 처리기가 있다는 것입니다. 이벤트가 트리거 될 때 ctrl 또는 shift와 같은 수정 자 키가 눌러져 있으면이 처리기가 실행되지 않도록하고 싶습니다. 수정자를 보유하고 있는지 확인한 후에 필자는 필요할 경우 원래의 pressmove 처리기를 트리거 할 수 있어야합니다.

답변

1

stopPropagation 메서드는 이벤트가 발동되지 않고 발포되는 것을 방지합니다. stopImmediatePropagation을 사용하면 이후에 동일한 레벨의 다른 리스너가 이벤트를 수신하지 못하게 할 수 있습니다 (동작은 이벤트 순서에 따라 다름).

동작을 방지하려는 조건이있는 경우 이상적으로 이벤트 처리기에서 해당 동작을 살펴보고 동작을 조건부로 처리하십시오.

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

또한 마우스 이벤트에 응답에서 개체를 방지하기 위해 mouseEnabled을 전환 할 수 있습니다 (그리고 mouseChildren 당신이 컨테이너의 아이에 이벤트를 차단하려는 경우).

obj.mouseEnabled = false; 

희망이 있습니다.