Preventdefault () - або - return false stack overflow російською

return false з обробника події jQuery так само, як виклик обох e.preventDefault і e.stopPropagation у переданого jQuery.Event події.

  • e.preventDefault () зупинить обробку події за замовчуванням,
  • e.stopPropagation () зупинить спливання події по DOM
  • return false зупинить їх обидва.
  • e.stopImmediatePropagation запобігає спливання всіх подібних подій (корисно, коли на елементі є кілька обробників одного події)

У звичайних (НЕ-jQuery) обробниках подій return false не забороняє спливання (bubbling) події.

Також return false; в ванільному js не забороняє обробку події за замовчуванням з addEventListener оброблювачів.
Він працює тільки з el.onclick хендлеров.

Any benefit to using event.preventDefault () over "return false" to cancel out an href click?

У jquery - корисніше return false
У vanillaJS - краще його не використовувати, він працює тільки з onclick-like обработчиками.

У IE8 і нижче необхідно замінити stopPropagation на cancelBubble. а preventDefault на return false;

демонстрація

  • Якщо ви всього лише хочете запобігти дію браузера за замовчуванням, то вам слід використовувати preventDefault метод.
  • stopPropagation. який зупиняє спливання (bubbling) події до батьківських елементів.
  • return false може скасувати дію браузера при використанні в DOM Level 0 (inline -обработчік).
  • stopImmediatePropagation забороняє виклик всіх інших обробників навіть на поточному подію.