Javascript - скасування стандартного дії браузера, ит шеф

На цьому уроці ми розглянемо, як можна скасувати стандартні дії браузера, які відбуваються, коли користувач взаємодіє з деякими елементами веб-сторінки. Також дізнаємося як скасування стандартного дії, яке виконує браузер, впливає не його спливання.

Як скасувати стандартні дії браузера

Деякі елементи (об'єкти) HTML сторінки, мають стандартні дії, коли з ними взаємодіє користувач. Наприклад, при натисканні на посилання браузер здійснює стандартне дію - це перехід на сторінку, вказану в атрибуті href. Іноді виникають ситуації, коли стандартні дії, які виконує браузер необхідно скасувати.

Для скасування стандартного дії, який виконує браузер, необхідно використовувати метод preventDefault () об'єкта event.

Наприклад, скасуємо стандартне дію для елемента а. має id = "myAnchor":

Попередження: Даний спосіб (return false) не працюватиме, якщо обробник призначений через метод addEventListener ().

Змінимо вищенаведений приклад, виконавши підписку на подію "click" через властивість DOM-елемента on # 91; подія # 93 ;. Для переривання виконання дії будемо використовувати інструкцію return false.

Чи впливає скасування стандартного дії, яке виконує браузер, на його спливання

У цьому розділі ми розглянемо наступне питання: "Чи впливає на спливання події то, що ми скасували виконання стандартного дії браузера, яке з ним пов'язано?"

Щоб розібратися в цьому питанні, давайте розглянемо наступний приклад:

З цього прикладу видно, що скасування стандартного дії браузера (перехід на сторінку, вказану в атрибуті href. При натисканні на посилання) не зупиняє спливання бульбашки (події).

Отже, скасування стандартного дії браузера для деякого події не впливає на спливання бульбашки (події), тобто вони виконуються незалежно один від одного

У ситуаціях, коли Вам необхідно скасувати стандартне дію браузера і спливання події (бульбашки), можна використовувати наступний код:

Увага: Не будь-яке стандартне дію браузера можна скасувати. Це може бути пов'язано з тим, що стандартні дії для деяких подій браузер виконує до того як відбувається виклик його обробника. Отже, такі дії вже скасувати не можна. Крім цього, стандартне дію для деяких подій браузер не дозволяє скасувати через політику безпеки, яка в ньому використовується.