Не могу справиться с этим (требуется понимание JQuery Hanlder) - PullRequest
1 голос
/ 17 мая 2010

Мне стыдно даже спрашивать, НО может кто-нибудь помочь мне понять, что такое "обработчик". Я новичок в jQuery и API постоянно имеет ссылки, подобные следующим:

toggle( handler(eventObject), handler(eventObject), [ handler(eventObject) ] )

Я чешу голову и говорю себе: «Что, черт возьми, это хэндлер». Затем я проверяю свои 2 книги JQuery и не вижу там ничего конкретного. Я получаю то, что делает обработчик события, он обрабатывает событие. Но обработчик слов в приведенном выше контексте сбивает меня с толку, включая «eventObject». Я попытался найти его в Google, но не смог найти по-настоящему четкого определения того, что такое обработчик, так как он связан с jquery. Спасибо за вашу помощь =]

Ответы [ 3 ]

3 голосов
/ 17 мая 2010

Обработчики - это любые функции, которые вы пишете для обработки событий. Например, в

$(document).ready(function() {
      //......
});

обработчик

function() {
     //.......
}
2 голосов
/ 17 мая 2010

Думайте о обработчике как о обратном вызове для любой вызываемой операции. В случае handler(eventObject) это означает, что метод с этим параметром может принимать функцию, переданную ему, и эта функция будет вызываться в определенный момент времени до, во время или после выполнения метода, получающего его (как указывается в спецификации параметра), и ему будет передано значение, называемое eventObject, которое может быть любым, но, скорее всего, является целью данного события, для которого выдается обратный вызов.

Вот пример:

function MyCallback(eventObject) {
    alert(jQuery(eventObject).attr('id') + ' toggled'));
}

jQuery("#myBtn").click(function() {
    jQuery("#myObj").toggle("fast", function(eventObject) { MyCallback(eventObject); });
});

С помощью приведенного выше кода, при нажатии #myBtn элемент #myObj будет переключаться (быстро), и как только анимация переключения завершится, MyCallback будет вызван и передан #myObj, что приведет к появляются слова "myObj переключен".

1 голос
/ 17 мая 2010

Это функция, которая будет обрабатывать событие. Для расширения в случае переключения ON вызывает первую функцию (с помощью eventObject), а OFF вызывает вторую функцию. EventObject будет содержать различную информацию в зависимости от событий, например координаты мыши.

...