приветствую всех...
вопрос такой: как остановить выполнение обработчика события из другого обработчика этого же события ??
конкретно в моем случае - я пишу плеер и нужно чтобы при клике на play устанавливался второй обработчик на ту же кнопку который будет останавлить проигрывание первого обработчика (тоесть обработчика который проигрывает), и наоборот (удалялся второй обработчик и ставился первый обратно чтобы снова начать проигрывание)
привожу пример :
var play = function() {
doSomething();
removeHandler(buttonPlay, "click", pause);
}
var pause = function() {
doAnotherthing();
removeHandler(buttonPlay, "click", play);
}
addHandler(buttonPlay, "click", play);
addHandler(buttonPlay, "click", pause);
function addHandler(element, event_name, handler) {
try {
element.addEventListener(event_name, handler, false);
}catch(e) {
element.attachEvent("on" + event_name, handler);
}
}
function removeHandler(element, event_name, handler) {
try {
element.removeEventListener(event_name, handler, false);
} catch(e) {
try {
element.detachEvent("on" + event_name, handler);
} catch(ee) {
element["on" + event_name] = null;
}
}
}
но по такой логике второй обработчик начинает выполняться только после того, как первый закончит свое выполнение, как сделать чтобы второй обработчик останавливал (прерывал) первый
во время его выполнения второго и наоборот?