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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прицепить обработчик, впереди других обработчиков 
:(
    Опции темы
skyboy
Дата 1.9.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Захотелось мне исключительно в дебажных целях прикрутить динамически к КАЖДОМУ вменяемому элементу на странице реакцию на клик, чтоб выдавал он мне некоторую информацию. Но! У элементов уже могут оказаться установленные обработчики, как инлайн(onclick="...."), так и установленные динамически. Есть ли способ как-нить "перецепить" обработчики, чтоб мой был первым? 
Уже думал, удалить все "сторонние", но detachEvent в IE и removeEventListener требуют аргументом функцию, которую надо "отцепить" от элемента. Как удалить всех "слушателей" так и не выяснил. Может скажет кто?
PM MAIL   Вверх
12345c
Дата 1.9.2006, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Обычно на каждый конкретный обработчик ставят вместо него функцию добавления

Код
/**
 * Bind a function to the window.init pseudo event
 * @author Simon Willison
 * @see http://simon.incutio.com/archive/2004/05/26/addLoadEvent
 */
function addInitEvent(func) {
  var oldoninit = window.oninit;
  if (typeof window.oninit != 'function') {
    window.oninit = func;
  } else {
    window.oninit = function() {
      oldoninit();
      func();
};  }}
, где вместо window.oninit ставят нужный обработчик. Эта ф. добавляет в конец. Чтобы добавляла перед существующей, - поменять местами предпоследние 2 строки.
PM WWW   Вверх
skyboy
Дата 1.9.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



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


 




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


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

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