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 забороняє виклик всіх інших обробників навіть на поточному подію.