Привет всем. У меня небольшая проблема.

У меня есть функция. Давайте назовем это:

function rowClick ()
{

}

Во всяком случае, вопрос заключается в следующем:

Как я могу связать эту функцию с событием щелчка, не вызывая его?

Что я имею в виду, если я делаю это:

$("#holder").click (function(){ rowClick(); });

Функция rowClick вызывается при регистрации в событии click.

Во всяком случае, я понимаю, почему это происходит. Я просто не понимаю, как я могу связать функцию с событием так, чтобы она не вызывалась.

Спасибо.

-2
guy schaller 20 Июл 2010 в 18:22

3 ответа

Лучший ответ

Удалите функцию () и скобки из имени функции, например:

$("#holder").click(rowClick);
3
Paul Mrozowski 20 Июл 2010 в 14:26

Вам просто нужно передать ссылку на функцию в качестве параметра. Это не обязательно означает anonymous function.

Звонок

$("#holder").click ( rowClick );

Будет работать просто отлично. Не забудьте изменить дизайн rowClick функции с помощью event parameter:

function rowClick (event) {
   alert(event.target.id);
}

Этот параметр передается автоматически и может быть доступен в вашей функции обратного вызова.

0
jAndy 20 Июл 2010 в 14:32

Как насчет...

$("#holder").click (rowClick); 

... хотя анонимная функция не должна вызываться (и, следовательно, не должна вызывать rowClick), пока не произойдет событие click.

0
belugabob 20 Июл 2010 в 14:25