Сенча прикоснись лучше тренируйся на событиях - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть кнопка в Сенче (сенсорная), которая в кнопке действия. Эта кнопка имеет разные функции в каждом представлении. Когда я меняю вид, контроллер устанавливает правильную функцию для кнопки:

myButton.on("click", function() {}); etc. 

Когда я переключаю вид, мне сначала нужно позвонить:

myButton.off("click");

и затем я могу снова связать клик с помощью:

myButton.on("click", function() {});

Если я не вызову функцию выключения, оба события щелчка сработают. Есть ли более быстрый способ связать новое событие и сбросить все другие связанные события?

1 Ответ

0 голосов
/ 13 декабря 2011

Вам необходимо использовать методы addListener и removeListener, например:

var myFunction = function () { };
myButton.addListener("click", myFunction);
myButton.removeListener("click", myFunction);

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

Удалить все обработчики очень просто:

myButton.clearListeners();
...