danik.js,
этот e.stopImmediatePropagation() в моем случае не помог вообще (((
он работает только в IE и OPERA, и останавливает только тогда когда обработчик закончит выполняться - например если в обработчике вызывается функция которая работает рекурсивно, то этот e.stopImmediatePropagation() ждет пока закончится рекурсия, мне нужно чтобы рекурсия прерывалась на клике на ту же кнопку что и запуска обработчика (в котором запускается эта рекурсивно работающая функция) - мой случай -
function runCycle(callback, timer) {
if (index < pics.length) {
buttonPlay.src = "buttons/button_pause.png";
var id = setTimeout (function() {
callback();
runCycle(callback, timer);
}, timer);
}
else buttonPlay.src = "buttons/button_play.png";
}
var runAll = function(e) { // это главный обработчик
runCycle(playNext, 1000); // это рекурсивно выполняющаяся функция выполняющая все действия
}
addHandler(buttonPlay, "click", runAll); // вешаем обработчик