Что такое параметр «событие», который так часто определяется для функций-обработчиков событий JavaScript? - PullRequest
0 голосов
/ 24 декабря 2009

Много раз я вижу код jQuery, который выглядит так:

$('a').live( 'click', function(event){
..
});

Что делает параметр события? Соответствует ли оно элементу «а» или событию «вживую»?

Ответы [ 4 ]

3 голосов
/ 24 декабря 2009

Я думаю, что вы спрашивали конкретно о том, что такое event и не обязательно функция live. event - это объект jQuery.Event (http://docs.jquery.com/Events/jQuery.Event)), который содержит множество сведений о событии, включая ссылку на объект, по которому щелкнули.

3 голосов
/ 24 декабря 2009

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

jQuery документация по методу live

параметр event передаваемой функции является результатом щелчка на элементе привязки. Если вы используете Firefox с Firebug, вы можете проверить этот объект, выполнив следующее:

$("a").live("click", function(event) { 
    console.dir(event);
});

Когда вы нажмете на якорь, вы сможете увидеть весь объект в консоли Firebug.

1 голос
/ 24 декабря 2009

В javascript (не только для jQuery) объект события - это объект, который описывает только что произошедшее событие. Стандарты W3C DOM определяют, что объект события является первым параметром, передаваемым обработчику события. В IE объект события является глобальной переменной. Так что в обычном javascript (без таких библиотек, как jQuery) вы часто встречаете людей, пишущих что-то вроде:

div.onclick = function (event) {
  event = event || window.event; // take care of IE
  ..
}

Большинство библиотек, таких как jQuery, позаботятся об этом за вас, поэтому вам нужно всего лишь выполнить стандартную задачу W3C.

Объект события является единственным стандартным механизмом определения таких вещей, как указатель мыши, местоположение xy, какая клавиша нажата и т. Д.

см .: https://developer.mozilla.org/En/DOM:event

1 голос
/ 24 декабря 2009

event в этом случае связано с событием 'click', которое происходит с каждым тегом a в HTML. Это объект, который содержит все связанные свойства щелчка мышью.

live более эффективен, чем просто привязка события, потому что он будет присоединяться к любым тегам a, динамически создаваемым после выполнения всей привязки события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...