.on change vs .on click [дублировать]

0

Сегодня я пишу код, который запускает код, если человек нажимает на чекбокс.

Я написал код следующим образом:

$(".checkbox").on( "click", function() {
    //code
});

Я мог бы написать код следующим образом:

$(".checkbox").on( "change", function() {
    //code
});

Обе достигают той же цели, которую я ищу, но должен ли я использовать ее над другой?

  • 0
    На что пользователи не нажимают? Это не то же самое ...
  • 0
    Брув :) если ты имеешь в виду change === click тогда не правильно решить, какое событие пользователь должен вызвать или должен вызвать.
Показать ещё 3 комментария
Теги:

2 ответа

7
Лучший ответ

Вы должны использовать change, так как флажок можно изменить с помощью клавиатуры (вкладка в элемент, нажмите пробел). Кроме того, его можно изменить с помощью какого-либо другого кода JavaScript (в будущем) или с помощью щелчка, если эта метка "прикреплена" к флажку.

1

Элементы формы поднимают события onchange когда пользователь меняет свои значения. Как и в другом ответе, это может быть связано с щелчками мыши или нажатиями клавиш.

Любой элемент, занимающий пространство экрана, будет onclick событие onclick всякий раз, когда пользователь нажимает на него. Обратный вызов, который вы предоставляете, получает аргумент, содержащий координаты курсора X и Y и некоторые другие вещи.

Так получилось, что когда вы нажимаете флажок, который меняет свое значение, так и onchange события onclick и onchange.

Вы должны использовать любое событие, которое наилучшим образом соответствует желаемому эффекту на вашей странице.

Ещё вопросы

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