Показать сообщение отдельно
  #5 (permalink)  
Старый 16.08.2013, 11:37
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

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); // вешаем обработчик
Ответить с цитированием