Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2010, 23:15
Аспирант
Отправить личное сообщение для YISHIMITSY Посмотреть профиль Найти все сообщения от YISHIMITSY
 
Регистрация: 04.11.2008
Сообщений: 61

Как передать параметры в функцию при вызове на событие?
Вот такой вопрос: когда функция привязана на событие, как я понял в неё при вызове передаётся тока 1 параметр - объект Event (в ИЕ window.event) ну не важно.. вобщем, если нужно чтобы она вызывалась с другими параметрами, как их туда передать? Чтобы не пришлось юзать внешние для этой функции переменные
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2010, 23:34
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

var data = {
// То, что нада передать
}
ele.addEventListener(type, function(evt){
  handler(evt, data);
}, false);

Пример приведён для Not IE. Более подробно почитай про замыкания.
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2010, 10:07
Аспирант
Отправить личное сообщение для YISHIMITSY Посмотреть профиль Найти все сообщения от YISHIMITSY
 
Регистрация: 04.11.2008
Сообщений: 61

ок, разобрался) Терь возникает другой вопрос: каким образом можно узнать, привязан ли данный обработчик к объекту или нет? Знаю что eventListenerList не поддерживается. Какие-то обходные варианты есть?
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2010, 10:17
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от YISHIMITSY
Какие-то обходные варианты есть?
Есть. Можно написать самому.
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2010, 10:42
Аспирант
Отправить личное сообщение для YISHIMITSY Посмотреть профиль Найти все сообщения от YISHIMITSY
 
Регистрация: 04.11.2008
Сообщений: 61

Сообщение от B~Vladi Посмотреть сообщение
Есть. Можно написать самому.
В том и дело.. не представляю как. Не могли-бы вы объяснить хотя-бы алгоритм? или ссылку на статью какую-нить
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2010, 11:13
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

напиши свою обертку для навешивания событий
внутри сперва запомни в специальный массив ссылку на ф-цию(ну или еще можно на DOM-элемент, собятие и прочая, если надо)
а затем повесь стандартным образом обработчик события
затем если надо выяснить, проходишься по массиву в поисках нужной тебе ф-ции, и если нашел, то заодно можно узнать сопутствующую инфу
желательно поместить обе ф-ции и объект внутри замыкания, и вывести ссылки на ф-ции наружу, чтобы не засорять глобальную область видимости
Ответить с цитированием
  #7 (permalink)  
Старый 02.06.2010, 12:23
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

За основу можешь взять этот код: Кросс-браузерное добавление и обработка событий
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить функцию при запуске увидеть ГЛОБАЛЬНУЮ переменную? возжаждавший Элементы интерфейса 8 23.02.2017 01:27
Подскажите пожалуйста как передать массив в функцию serov Элементы интерфейса 3 21.08.2010 19:37
постоянное повторяющееся событие при mouseover. как? greysells jQuery 2 01.02.2010 13:37
Как вызвать функцию если менять надо не все параметры? britanik Общие вопросы Javascript 3 07.03.2009 23:13
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11