Home >Web Front-end >JS Tutorial >How to Prevent Child Anchor Clicks from Triggering Parent Click Events?
Preventing Child Anchor Click Events from Triggering Parent Click Event
As your code demonstrates, when a child anchor element is clicked within a parent div with an onclick event, both events fire. To resolve this issue and prevent the parent click event from executing, you have two options:
Option 1: Check Event Origin
By examining the eventargs object passed by jQuery, you can determine the element that initiated the click:
$("#clickable").click(function(e) { if($(e.target).is("div")) { window.location = url; return true; } });
If the sender element is not the div itself, the div's onclick handler will not be triggered.
Option 2: Stop Event Bubbling
Alternatively, you can prevent the click event from bubbling up to the parent by using the stopPropagation() method on the child anchor:
$("#clickable a").click(function(e) { // Custom anchor handler e.stopPropagation(); });
This method prevents the event from being propagated to the parent div, ensuring that only the anchor click event fires.
The above is the detailed content of How to Prevent Child Anchor Clicks from Triggering Parent Click Events?. For more information, please follow other related articles on the PHP Chinese website!