Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2012, 13:44
Новичок на форуме
Отправить личное сообщение для dvikv Посмотреть профиль Найти все сообщения от dvikv
 
Регистрация: 12.01.2012
Сообщений: 1

Установка обработчика события
Мне нужно установить обработчик нажатия мышкой на div.
Всего на странице 4 нужных мне дива, которые возвращаются мне вызовом функции $("div.hasDatepicker").
Повесить на них на все обработчик - не проблема:
$("div.hasDatepicker").bind('click', fc);

Но мне нужно повесить 4 разных обработчика!
Я пытался сделать это так:
$("div.hasDatepicker")[0].bind('click', fc1);
$("div.hasDatepicker")[1].bind('click', fc2);
$("div.hasDatepicker")[2].bind('click', fc3);
$("div.hasDatepicker")[3].bind('click', fc4);

Но при этом в браузере выводится ошибка:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'bind'
Как мне сделать это правильно?
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2012, 14:12
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

http://api.jquery.com/eq/
Ответить с цитированием
  #3 (permalink)  
Старый 12.01.2012, 14:19
Новичок на форуме
Отправить личное сообщение для youmay Посмотреть профиль Найти все сообщения от youmay
 
Регистрация: 10.10.2011
Сообщений: 8

$("div.hasDatepicker[0]").bind('click', fc1);
$("div.hasDatepicker[1]").bind('click', fc2);
$("div.hasDatepicker[2]").bind('click', fc3);
$("div.hasDatepicker[3]").bind('click', fc4);
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2012, 14:41
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от youmay
$("div.hasDatepicker[0]")
первый раз такую запись вижу, откуда это взяли ?
Ответить с цитированием
  #5 (permalink)  
Старый 12.01.2012, 14:56
Новичок на форуме
Отправить личное сообщение для youmay Посмотреть профиль Найти все сообщения от youmay
 
Регистрация: 10.10.2011
Сообщений: 8

Да, сорри, ошибся конечно.
$("div.hasDatepicker:eq(0)").bind('click', fc1);
$("div.hasDatepicker:eq(1)").bind('click', fc2);
$("div.hasDatepicker:eq(2)").bind('click', fc3);
$("div.hasDatepicker:eq(3)").bind('click', fc4);
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2012, 19:51
Интересующийся
Отправить личное сообщение для snapson Посмотреть профиль Найти все сообщения от snapson
 
Регистрация: 18.02.2012
Сообщений: 16

Или можно сделать таким образом:
$("div.hasDatepicker").each(function(i){
    $(this).live("click",function(e){
       alert(i+1);//вместо alert, пишете свою функцию, счет будет идти с 1
    });
});
​
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление обработчика события belkir Events/DOM/Window 8 22.09.2011 12:47
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54
Проблема с вызовом функции в качестве обработчика G_M_S Общие вопросы Javascript 5 03.05.2011 11:55
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47