Разница между опциями once и passive в addEventListener заключается в следующем:
- once указывает на то, что обработчик события должен быть вызван не более одного раза после добавления. 1 Если указано логическое значение true, то прослушиватель будет автоматически удалён при вызове. 1
- passive указывает на то, что функция, указанная прослушивателем, никогда не отменит действие события по умолчанию (вызовет метод preventDefault()). 1 Если обработчик события всё же вызовет метод preventDefault(), то браузер пользователя проигнорирует его, и создаст при этом предупреждение в консоли. 1
Таким образом, once позволяет указать, что обработчик должен быть вызван только единожды, а passive — что функция не будет отменять действие события по умолчанию. 14