Карусель Sencha останавливает распространение событий касания на карусели при рисовании на холсте внутри нее.

У меня есть карусель с четырьмя панелями.

Он работает нормально, я могу переходить от одного к второму и так далее.

Моя 4-я панель имеет один Canvas для рисования.

Когда я начинаю рисовать, карусель меняет страницу, как обычно, но я не хочу менять страницу в это время, так как пользователь что-то рисует.

Как остановить это событие, когда я рисую, и снова связать событие, когда я выбираю ручной инструмент?

Я сделал одну кнопку инструмента «Рука/Рисование», чтобы изменить эти настройки.

Я попытался обработать распространение событий и использовал метод захвата, чтобы я мог что-то остановить. Но я не смог получить ожидаемый результат. Любая помощь очень ценится.

Спасибо.


person Akash Saikia    schedule 21.05.2012    source источник


Ответы (1)


Если вы переключаете карту между своего рода редактируемым/нередактируемым режимом, может быть что-то вроде

toggleEditHandler() { 
  var nothing = function() {return false;};
  //if toggled to edit
    card.element.on('*', nothing, card);

  //else 
    card.element.un('*', nothing, card);
}

Обратите внимание, что это грубый псевдокод, потому что я не хотел предполагать, как вы сделаете свой обработчик, но это быстрый хак, который обычно должен работать. Что бы это ни стоило, я получил идею из кода в официальном объекте маски, который предотвращает всплывающие окна действий.

person brink    schedule 06.10.2012
comment
Спасибо, я нашел решение таким образом. Связывание слушателей, когда это необходимо, и удаление, когда мне нужно рисовать на холсте. - person Akash Saikia; 15.10.2012