Различия в обработчике событий jQuery

0

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

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

против

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

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

  • 0
    stackoverflow.com/questions/8018760/...
  • 0
    Если вы используете 2-й, jQuery внутренне использует 1-й. Это просто стенография. Используйте on() для более надежной прямой совместимости.
Показать ещё 1 комментарий
Теги:
events
jquery-click-event

2 ответа

1

Согласно документации API jQuery

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

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

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

.click(...) - это ярлык для element.on("click",...)

  • 0
    @KevinB Спасибо за указание на это!
  • 0
    @KevinB исправил это: D
0

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню