Аргумент event
имеет несколько целей. Вам нужно только указать его в качестве аргумента для вашего обработчика, если вы действительно собираетесь его использовать. JavaScript обрабатывает переменные числа аргументов без жалобы.
Наиболее распространенное использование, которое вы увидите, это предотвратить поведение по умолчанию для действия, вызвавшего событие. Итак:
$('a.fake').click(function(e) {
e.preventDefault();
alert("This is a fake link!");
});
... остановятся все ссылки с классом fake
от фактически собирается их href
при нажатии. Аналогичным образом, вы можете отменить форму представления с ним, например. в методах валидации. Это return false
, но более надежным.
jQuery's event
объект на самом деле кросс-браузерная версия стандарта event
аргумент предоставляется во всем, кроме IE. Это, по сути, ярлык, который позволяет использовать только один путь кода, а не проверять, какой браузер вы используете в каждом обработчике событий.
(Если вы читали не-JQuery код, который вы увидите много следующих, что делается для работы вокруг дефицита IE.
function(e) {
e = e || window.event; // For IE
Это боль, и библиотеки, сделать это гораздо проще делайте ставку.)
There's a full accounting of its properties in the jQuery docs. По существу, включите его, если увидите что-нибудь, что вам там нужно, и не беспокойтесь иначе. Мне нравится включать его всегда, так что мне никогда не придется забывать добавлять его позже, если я решит, что это необходимо в конце концов.
Каков пример того, как я буду использовать событие в обработчике? – Matthew
Если вы хотите что-то сделать в обработчике, который требует знать больше информации о событии, например, о местоположении мыши. Вы можете получить некоторые идеи, если поместите контрольную точку внутри обработчика и посмотрите, что доступно в объекте события. – Nosredna