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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> remove Event listener, под IE7 
V
    Опции темы
Wolf1994
Дата 6.3.2008, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Как снять "слушателя событий" в "IE7"?

Код

function deEvent(a,e,o)
{
 if(document.removeEventListener)
  a.removeEventListener(e,o,false);
}
deEvent(obj0,'mouseout',tooltipout);


Работает только в "FF".
PM MAIL WWW   Вверх
Sardar
Дата 6.3.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



.attachEvent(name, handler); -> detachEvent(name, handler);


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Wolf1994
Дата 6.3.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Дополнил функцию так:

Код

function deEvent(a,e,o)
{
 if(document.removeEventListener)
  a.removeEventListener(e,o,false);
 else
  a.detachEvent('on'+e,o,false);
}


Но нужного эффекта в "IE7" не получил.

Где ошибка?
PM MAIL WWW   Вверх
Sardar
Дата 6.3.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Только в логике, под ИЕ ты должен регистрировать событие как .attachEvent (убедись что это так). Кстати, третьего аргумента у detachEvent нет.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Wolf1994
Дата 6.3.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Не понимаю (

Код

function addEvent(a,e,o)
{
 if(document.addEventListener)
 {
  a.removeEventListener(e,o,false);
  a.addEventListener(e,o,false);
 }
 else
 {
  a.attachEvent('on'+e,o);
 }
}

function deEvent(a,e,o)
{
 if(document.removeEventListener)
  a.removeEventListener(e,o,false);
 else
  a.detachEvent('on'+e,o);
}


Код

addEvent(obj,'mouseover',tooltipover);
deEvent(obj,'mouseout',tooltipout);


Этот код "вешает" на obj EventListener, но не убирает его. Вернее убирает в FF, но не в IE.

Это сообщение отредактировал(а) Wolf1994 - 6.3.2008, 19:41
PM MAIL WWW   Вверх
vasac
Дата 7.3.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

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



А где на mouseout вешался tooltipout?
PM WWW   Вверх
Wolf1994
Дата 7.3.2008, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Ошибся... Приведённый код - примерный. Назначаются и снимаются одни и те же функции. Функции "addEvent" и "deEvent" приведены точь-в-точь, как в рабочем варианте.

Добавлено через 4 минуты и 40 секунд
Вопрос решён:

Код

function addEvent(a,e,o)
{
 if(document.addEventListener)
 {
  a.removeEventListener(e,o,false);
  a.addEventListener(e,o,false);
 }
 else
 {
  a.detachEvent('on'+e,o);
  a.attachEvent('on'+e,o);
 }
}

function deEvent(a,e,o)
{
 if(document.removeEventListener)
  a.removeEventListener(e,o,false);
 else
  a.detachEvent('on'+e,o);
}


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


 




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


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

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