2015-03-20 3 views
0

Я искал stackoverflow для решения этой проблемы, но ничего не сработало. Я не понимаю, почему это не должно. Мой код выглядит так:CreateJS не может удалить обработчик событий

предварительно загруженным EventListener:

obj.container.on("click", Capture, null, false, [data]); 

function Capture(evt, data){ 
} 

это работает, как ожидалось. Теперь, если я хочу, чтобы удалить его с условием:

if(state){ 
obj.container.off("click", Capture); 
} 

не работает, как ожидалось. Что я делаю не так?

ответ

3

Посмотрите на документы. Метод on возвращает замыкание, которое используется для поддержания области видимости. Вы должны использовать это, чтобы удалить слушателя.

var closure = obj.on("click", listener); obj.off("click", closure);

http://www.createjs.com/Docs/EaselJS/classes/DisplayObject.html#method_on

Смежные вопросы