.trigger() и глобальная переменная
Приветствую. С jQuery работаю редко, вот в очередной раз пришлось. Я думаю, структура кода по сути не правильна - поэтому и не работает.
В общем вот код (два обработчика событий и одна глобальная переменная). var process = false; $('#dropCategory').bind('click', function() { if (process !== false) return false; process = $(this); // - это проблемная перееменная process1 = $(this); //alert(process.attr('title')); // - здесь она еще правильная (jquery объект) $('#cc_content #categories').slideToggle('fast', function() { alert(process); // - здесь она `false` alert(process1); // - здесь нормальный jquery объект // здесь я использую process для доступа/изменения его свойств process.addClass(''); //например process = false; // "обнуляю" process - т.е. текущее действие закончено } } ); $('#...').bind('click', function() { if (process !== false) return false; process = $(this); jQuery.ajax ({ 'success':function(html) { $("body #cc_rContent").html(html); process = false; $('#dropCategory').trigger('click'); // - здесь вызываю предыдущее событие }, }); } ); Первый обработчик работает правильно при вызове напрямую кликом. Но возникает проблема с process, если вызывать первый обработчик через .trigger(). var process - "контролирует", чтобы в данный момент ничего не выполянлось. Я могу использовать process1 и все будет нормально (проблема решена), но хотелось бы понять почему process выставляется в `false` в callback функции первого обработчика (извините, если это бред) |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 11:35. |