Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> inline обработчики после appendChild в IE 
:(
    Опции темы
anthrax
Дата 11.2.2008, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.12.2003

Репутация: нет
Всего: 2



Приветствую всех!
Итак, есть простенький код
Код


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script>

function createElem(type){

    var el;

    if(document.createElementNS) {
        el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
    }else{
        el = document.createElement(type);
    }

    return el;
}

var el = createElem('div');

el.innerHTML = '<input type="button" onclick="alert(1)">';

document.body.appendChild(el);

</script>
</body>
</html>


Потенциально в el.innerHTML может сливаться большой объем HTML-я с инлайновыми обработчиками. Это важно.
С нормальными браузерами проблем нет.
Но шедевр от Майкрософта все инлайн обработчики после appendChild просто игнорирует. Это вообще как-то можно побороть? Или придется вручную навешивать все обработчики самому?
Дополнение: В проекте активно используется jquery, может в ней есть какие-то дзенские функции которые помогут решить данную проблему?

Заранее благодарен.

Это сообщение отредактировал(а) anthrax - 11.2.2008, 20:01
PM MAIL ICQ   Вверх
Ghirik
Дата 11.2.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Что такое инлайн обработчик?
И что у вас не работает? У вас не срабатывает onclick="alert(1)"
У меня срабатывает везде.

Это сообщение отредактировал(а) Ghirik - 11.2.2008, 19:24


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
anthrax
Дата 11.2.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.12.2003

Репутация: нет
Всего: 2



скопируй весь код и проверь в ИЕ6. Алерт не сработает.
инлайновый - это когда обработчик прописан как атрибут элемента <someelement inlineevent="blablabla()"> ну и someelement может быть чем угодно - div/input/span и т.д. а inlineevent - onclick/onkeyup/onmousedown и.т.
Кажись я нашел решение проблемы, если кому будет интересно могу выложить, только это будет реализовано с использованием jquery smile
PM MAIL ICQ   Вверх
Ghirik
Дата 11.2.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Я только что проверял в IE6. Всё работает, алерт вылетает. Может у вас что с настройками IE?


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
anthrax
Дата 11.2.2008, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.12.2003

Репутация: нет
Всего: 2



Ghirik давай на ты, мы люди простые.... ;)

Хм... у меня почему-то не срабатывает... Я трижды проверял.
IE6.0 на windows server 2003 R2 SP2

Народ у всех пример работет или это я один такой неповторимый?
PM MAIL ICQ   Вверх
Ghirik
Дата 11.2.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 13
Всего: 20



Вот версия, на всякий случай

Это сообщение отредактировал(а) Ghirik - 11.2.2008, 20:34

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  ver.GIF 1,82 Kb


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
bars80080
Дата 12.2.2008, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



собственно, тоже, что должно случится?
ИЕ6: кнопка есть, алерт выскакивает

кстати, отдельный ИЕ (или ОС) может глючить, у меня к примеру не отображает картинки статуса icq, хотя у соратников всё нормуль
может повесили ранее плагин какой кривой или плэер, он и заборол вашу систему...
PM MAIL WWW   Вверх
anthrax
Дата 12.2.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.12.2003

Репутация: нет
Всего: 2



Вопрос снят. У нас стоит видндовый сервак для тестирования под ИЕ, на который навернули кучу секьюрити патчей, в том числе и на ИЕ. Патч отрубили - заработало. Всех благодарю.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1101 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.