Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaScript: Is there any performance benefit to stopping event propagation?

Is it considered 'good practice' to stop JavaScript event propagation - does it benefit performance in any way?

I'm wondering if there is benefit outside of layout purposes where you stop propagation so you don't trigger multiple events accidentially.

like image 633
Alex Avatar asked Sep 02 '25 17:09

Alex


2 Answers

It entirely depends on the DOM complexity and the actions taken in each event that is triggered.

You would stop propagating events mainly not because of complexity but because of unwanted actions not to take place.

For example: Consider a situation where you have a show hide div and when you click on the div it should open and if you click anywhere else in the document it should close.

So you would wire an onclick event handler to the document as well as the div. So you have to stop propagating the event when clicked on the div so that the document click handler won't be invoked. That's a situation where you use stop event propagation.

like image 120
rahul Avatar answered Sep 04 '25 06:09

rahul


Only when it is necessary to the program logic, such as to prevent form submission or another DOM element's action being triggered. Unless you have a seriously complex DOM tree, there will not be any serious performance hit.

like image 44
Jeff Ober Avatar answered Sep 04 '25 05:09

Jeff Ober