Javascript.RU

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

bind: как передать функции указатель на объект
Суть проблемы в следующем:
скажем, есть элемент select на странице
<select id="id1" onclick="return MyFunc(arg1, arg2, this);">
<option>something</option>
</select>


Мне жизненно необходимо переназначать обработчик динамически с новыми аргументами. Передать аргументы arg1,arg2 не проблема, но как правильно передать this? Чтобы в момент срабатывания события передавался точно такой же this как в примере выше.
Т.е. я хочу что-то такое:
$('#id1').click(function(){return MyFunc(arg1, arg2, this)});

Как объяснить глупому компьютеру, что this относится к объекту select'а?
Ответить с цитированием
  #2 (permalink)  
Старый 25.05.2010, 01:24
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от trial Посмотреть сообщение
Т.е. я хочу что-то такое:
$('#id1').click(function(){return MyFunc(arg1, arg2, this)});

Как объяснить глупому компьютеру, что this относится к объекту select'а?
Ну и? this же передается, все нормально. В чем проблема-то?
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2010, 01:26
Новичок на форуме
Отправить личное сообщение для trial Посмотреть профиль Найти все сообщения от trial
 
Регистрация: 25.05.2010
Сообщений: 5

Сообщение от e1f Посмотреть сообщение
Ну и? this же передается, все нормально. В чем проблема-то?
this передается не тот, т.к. в момент бинда this это что-то другое, но не указатель на селект.
Ответить с цитированием
  #4 (permalink)  
Старый 25.05.2010, 01:32
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Либо Вы что-то путаете, либо даете недостаточно данных. В приведенном Вами выше коде, при вызове click, this будет именно select'ом.
Ответить с цитированием
  #5 (permalink)  
Старый 25.05.2010, 01:35
Новичок на форуме
Отправить личное сообщение для trial Посмотреть профиль Найти все сообщения от trial
 
Регистрация: 25.05.2010
Сообщений: 5

Да, вы правы, не туда смотрел. Перепроверил - все заработало.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45
Подскажите как узнать существует ли объект в памяти? Yazla Общие вопросы Javascript 2 05.11.2009 20:05
Как передать переменную в handleServerResponse Motoko AJAX и COMET 2 17.07.2009 11:04
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11