Почему change срабатывает раньше чем click?

В JavaScript событие change срабатывает раньше, чем событие click, из-за того, что механизм их вызова их различается.

1. **Событие change**: Данное событие срабатывает когда значение элемента формы (такого как input, select, textarea) изменяется и потерял фокус. Например, когда пользователь выбирает новый вариант в select и кликает вне этого элемента, событие change сработает после того, как выбор был изменен и элемент потерял фокус.

2. **Событие click**: Событие click, с другой стороны, срабатывает когда элемент был кликнут. Это может быть кнопка, ссылка, чекбокс и т.д.

Из-за того, что change срабатывает после того, как элемент потеряет фокус (что обычно происходит после клика вне элемента), оно будет вызываться после click.

Поэтому, если вам нужно выполнить определенные действия как только значение элемента формы изменено, вам следует использовать событие change. Если вам важно реагировать на момент клика по элементу, вам следует использовать событие click.