Я работаю над большим веб-приложением с большим количеством AJAX, чья обработка событий вышла из-под контроля. Я пытаюсь настроить делегирование события систему для управления всем этим, но мне интересно, есть ли обходной путь для отправления не всплывающей формы IE (есть много форм, которые вставляются / обновляются через AJAX). Лучшее, что я придумал, - это выполнение небольшого количества javascript для повторной загрузки обработчиков отправки каждый раз, когда я получаю ответ от вызова AJAX, но это кажется уродливым. Есть идеи?
Кроме того, у кого-нибудь есть хороший справочник, для которого события не распространяются правильно в разных версиях IE? У меня были проблемы с поиском хорошей информации (хотя у этого другого вопроса есть немного).
Реальный пример с сайта: на месте редактирование некоторого пользовательского контента. Делая делегирование события, я бы попросил тело прослушать события отправки, а затем посмотреть, какой элемент вызвал событие, и обработать его соответствующим образом. Поскольку отправка не всплывает в IE, это не сработает. Решение за 5 долларов состояло бы в том, чтобы делегировать события для всех других событий и обрабатывать отправку, используя что-то вроде этого в Prototype:
// call this onload:
$$('form').invoke('observe', 'submit', function(event) { /*delegate*/ });
Но это не сработает для форм, которые создаются динамически (я должен был бы каждый раз повторять создание экземпляра обработчика, как упомянуто выше), и все это было бы лучше, если бы я мог "сделать" форму, отправляющую пузырь в IE и просто делайте обычное делегирование везде (без особых случаев и т. д.).