Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сложный случай jQuery + AJAX + динамическое изменение страницы Opera/IE (https://javascript.ru/forum/misc/2897-slozhnyjj-sluchajj-jquery-ajax-dinamicheskoe-izmenenie-stranicy-opera-ie.html)

no. 23.02.2009 23:39

Сложный случай jQuery + AJAX + динамическое изменение страницы Opera/IE
 
Даже не знаю с чего начать, буду просто надеяться что кто-то с таким сталкивался ... этот баг (если это баг) действует в Opera 9.63 / IE 6
Словесное описание кода: При нажатии одной кнопки (пусть будет к1) динамически создается другая кнопка (к2) внутри ячейки таблицы (td). Создается кнопка с помощью td.innerHTML = "<input ..." и этой кнопке устанавливается обработчик onclick = f1(); (можно хоть в innerHTML прописать онклик, хоть addEventListener/attachEvent без разницы для моей проблемы). В функции f1() (достаточно сложная функция) уже первой строкой кода идет строка alert('tt'); для отладки. И вот этот самый алерт не срабатывает в Опере/ИЕ при нажатии кнопки к2, при том что весь остальной сложный код работает (+одна небольшая ошибка связанная со стилями), а в ФФ всё замечательно работает и алерт и со стилем проблем нет.
Кратко: (Opera9.63/IE6) нажатие к1 - создается к2 - назначается к2.онклик = f1() {alert('tt'); ... } - нажимаем к2 - срабатывает сложная функция f1() (формирование запроса ajax отправка, приемка, обработка, динамическое создание элементов и т.п.), НО! в этой функции не срабатывает первая строка кода alert('tt'); я в шоке, почему?
Естесственно проблема не в самом алерте, он был нужен для отладки другой ошибки небольшой, но без алерта я не могу отладить :( .
Если кто-то с чем-то подобным сталкивался помогите.
Также на странице используется библиотека jQuery (ей и отслыаются ajax запросы).

no. 24.02.2009 00:56

Ответ нашел, тему можно закрыть. )

Андрей Параничев 24.02.2009 04:24

Поделитесь в чем была проблема хоть.

И на будущее, пожалуйста, сопровождайте вопрос листингом кода проблемного места, потому что без него обычно не получается помочь в решении проблемы.


Часовой пояс GMT +3, время: 15:52.