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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> attachEvent, addEventListener в ИЕ, Помогите с IE, не могу разобраться 
:(
    Опции темы
diam
Дата 23.5.2005, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 16



Здравствуйте!

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

Вот код html, JavaScript:
Код

<form name="xxx" onSubmit="return false">
<textarea name="key" rows="9" cols="80">Вставьте данные сюда</textarea>
<input type="button" name="btn" value="Воткнуть">
</form>

Код

var btn = document.forms['xxx'].elements['btn'];
function hev ( ev ) {
        var value = document.forms['xxx'].elements['key'].value;
        uO.upload({'key':value});
}
// задание события
if (document.addEventListener) {
        btn.addEventListener("click", hev, false);
}
else {
        btn.attachEvent("onclick", hev);
}

И вот тут начинаются грабли smile. IE пишет - страница выполнена, но с ошибками. Смотришь детали ошибок - пипец, вот тебе подробное разъяснение "объект не поддерживается".

В связи с этим два вопроса:
1. Что сделать, что бы задание события работало как надо?
2. Как в IE подробно смотреть, на что он ругается? Например, в опере я открываю Validate Frame Source, в Mozilla/Firefox - JavaScript Console. А что делать в ослике?

З.Ы. Смотреть закреплённую тему не предлагайте - уже смотрел, ответа не нашёл. Где ашипка? smile
PM MAIL   Вверх
Aliance
Дата 23.5.2005, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата(diam @ 23.5.2005, 23:16)
Смотреть закреплённую тему не предлагайте - уже смотрел, ответа не нашёл

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Цитата

function registerEvent(evt) {
  evt = (evt) ? evt : ((window.event) ? event : null )
  if (evt) {
      var target = (evt.target) ? evt.target : ((evt.scrElement) ? evt.srcElement : null )
      if (target && target.tagName && target.tagName.toLowerCase() == "a") {
        // обработываем, если ЕСТЬ событие, и элемент, с которого
        // это событие пришло - <a ...>...</a>
      }
  }
}


© http://forum.vingrad.ru/index.php?showtopic=32350

Чем не нравится? Непосредственная работа с addEventListener / attachEvent:
Цитата

<div id="test">Test <span id="test2">Test2 <span id="test3">Test3</span></span></span>
<script language="Javascript" type="text/javascript">
<!--
var tag=document.getElementById("test");
var tag2=document.getElementById("test2");
var tag3=document.getElementById("test3");
tag.addEventListener("click", test_func, false); //режим bubbling
tag2.addEventListener("click", test_func, true); //режим capturing
tag3.addEventListener("click", test_func, false); //режим bubbling
function test_func(ev) {
alert(this.nodeName+"-"+this.getAttribute("id") + ", "+ev.target.nodeName+"-"+ev.target.getAttribute("id"));
}
//-->
</script>

и
Цитата

<div id="test">Test</span>
<script language="Javascript" type="text/javascript">
<!--
var tag=document.getElementById("test");
tag.attachEvent("onclick", test_func); //все имена событий начинаются на on
function test_func(ev) { //ссылка this указывает на обьект window
alert(this.document.title+", "+this.status + ", event target: "+ev.srcElement.nodeName+"-"+ev.srcElement.getAttribute("id"));
this.status="Елки, это обьект window!!!";
}
//-->
</script>

PM MAIL WWW ICQ Skype   Вверх
Gregof
Дата 24.5.2005, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 1
Всего: 12



У меня в IE все работает.
diam Что таоке это u0?
Цитата(diam @ 23.5.2005, 22:16)
Как в IE подробно смотреть, на что он ругается? Например, в опере я открываю Validate Frame Source, в Mozilla/Firefox - JavaScript Console. А что делать в ослике?
Установить отладчик, проваливаться до ошибки и смотреть smile

--------------------
Может поздно, может рано, нет у времени стоп-крана... (Чайф)
PM MAIL ICQ   Вверх
diam
Дата 24.5.2005, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 6
Всего: 16



Цитата(Gregof @ 24.5.2005, 05:31)
Установить отладчик, проваливаться до ошибки и смотреть smile

А можно поподробнее? Отладчик где, в самом IE?
Добавлено @ 06:36
Всё заработало, извиняйте за беспокойство.

Дело в том, что у меня IE запускается с помощью wine, и тестирую я на нём. Он ругается, а вот попросил друзей, они из винды посмотрели - всё работает.

Но всё же, как в IE смотреть ашипки? smile

З.Ы. Извиняйте за беспокойство ещё раз.
PM MAIL   Вверх
Gregof
Дата 24.5.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 1
Всего: 12



Цитата(diam @ 24.5.2005, 06:31)
А можно поподробнее? Отладчик где, в самом IE?

Microsoft Script Debugger. Устанавваливается отдельно от IE. Скачать можно с msdn.
Только надо будет в настройках IE разрешить отладку скриптов.
--------------------
Может поздно, может рано, нет у времени стоп-крана... (Чайф)
PM MAIL ICQ   Вверх
AlDev
Дата 24.5.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

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



Цитата(Gregof @ 24.5.2005, 18:38)
Microsoft Script Debugger. Устанавваливается отдельно от IE. Скачать можно с msdn.
Только надо будет в настройках IE разрешить отладку скриптов.

а под *nix есть что-нибудь подобное?
PM MAIL WWW ICQ YIM MSN   Вверх
Sardar
Дата 24.5.2005, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Alex @ 24.5.2005, 13:51)
а под *nix есть что-нибудь подобное?

Venkman в Мозилле есть. Но это оффтопик smile


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


 




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


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

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