event.PreventDefault Vs. event.stopPropagation
The event.preventDefault() prevents the browsers default behaviour, but does not stop the event from bubbling up the DOM. The event.stopPropagation() prevents the event from bubbling up the DOM, but does not stop the browsers default behaviour.
Event capture is the process by which an EventListener registered on an ancestor of the event's target can intercept events of a given type before they are received by the event's target. If the capturing EventListener wishes to prevent further processing of the event from occurring it may call the stopPropagation method of the Event interface. This will prevent further dispatch of the event, although additional EventListeners registered at the same hierarchy level will still receive the event. Cancelation is accomplished by calling the Event's preventDefault method. If one or more EventListeners call preventDefault during any phase of event flow the default action will be canceled.
Here we can see, preventDefault only the browsers default action is stopped but the div's click handler still fires.
Here we can see, with stopPropagation only the buttons click handler is called and the divs click handler never fires.
- The event.preventDefault() method on a child will stop the event on the child but it will happen on it's parent (and the ancestors too!).
- The event.stopPropagation() method on a child will stop that event from happening on the parent (the entire ancestors).
- jQuery Interview Questions FAQ - 1
- jQuery Interview Questions FAQ - 2
- Is jQuery a programming language?
- Why do we need to go for JQuery?
- How to check jQuery version?
- How to multiple version of jQuery?
- What is jQuery CDN?
- Advantages of minified version of JQuery
- How do I check if the DOM is ready?
- How to Use the jQuery load() Method
- Difference between document.ready() and body onload()?
- What is the use of param() method?
- How to work with jQuery parent(), children() and siblings()?
- Difference between parent() and parents() in jQuery?
- What does jQuery data() function do?
- How do you check if an element exists or not in jQuery?
- How do I check if an HTML element is empty using jQuery?
- How to run an event handler only once in jQuery?
- How to disable/enable an element with jQuery
- Hide and show image on button click using jQuery
- Difference Between Prop and Attr in jQuery
- How do I check if an element is hidden in jQuery?
- What happen if you return false from a jQuery event handler?
- What is each() function in jQuery? How do you use it?
- Which one is more efficient, document.getElementbyId( "myId") or $("#myId)?
- What is the difference between $.map and $.grep in jQuery
- What is the use of serialize method in jQuery
- What is the use of clone method in jQuery?
- What is event.PreventDefault in jQuery?
- What are deferred and promise object in jQuery?