2013-10-03 2 views
0

Вот два способа написания обработчиков событий:JQuery обработчик событий различия

$('element').on("click",function(){ 
    // do stuff 
}); 

против

$('element').click(function(){ 
    // do stuff 
}); 

Каковы основные различия между ними? Какие ситуации лучше подходят для других?

+0

http://stackoverflow.com/questions/8018760/jquery-difference-between- click-and-onclick – 0xcaff

+0

Если вы используете второй, jQuery внутренне использует 1-й. Это просто стенография. Используйте 'on()' для более надежной передовой совместимости. – Archer

+0

http://stackoverflow.com/questions/9122078/difference-between-onclick-vs-click – 0xcaff

ответ

1

According to jQuery's API documentation

.on() метод придает обработчик событий к выбранному набору элементов в объекте JQuery. Начиная с jQuery 1.7, метод .on() предоставляет всю функциональность, необходимую для прикрепления обработчиков событий. Для получения помощи в преобразовании из старых методов событий jQuery см. .bind(), .delegate() и .live(). Чтобы удалить события, связанные с .on(), см. .off(). Чтобы прикрепить событие, которое выполняется только один раз, а затем удаляется, см. .one()

Функция .on(...) использует все другие механизмы привязки событий. Он всегда должен работать. According to jQuery's API documentation

Этот метод является сокращением для .on («щелчок», обработчик) в первых двух вариантах, и .trigger («щелчок») в третьем. Событие клика отправляется элементу, когда указатель мыши находится над элементом, а кнопка мыши нажата и отпущена. Любой элемент HTML может принять это событие. Например, рассмотрим HTML:

.click(...) ярлык для element.on("click", ...)

+0

@KevinB Спасибо, что указали это! – 0xcaff

+0

@ KevinB зафиксировал это: D – 0xcaff

0

клик() является удобной аббревиатурой для на(). Единственный способ отличается от на() является то, что если вы вызываете его без параметров он будет вызывать:

$(element).trigger('click');

Смежные вопросы