Method 1
Stop propagation on inner elements before attaching an event on the parent.
$('#parent a').on('click', function(event){
//stop the event bubbling up to the parent
event.stopPropagation();
});
$('#parent').on('click', function(event){
//attach event on the parent
alert('Parent element clicked!');
});
Method 2
Check if the event target matches the designated target.
$('#parent').on('click', function(event) {
if(event.target == event.currentTarget) {
alert('Parent element clicked!');
} else {
alert('Child element clicked!');
}
});
Method 2.1
Check if the tag name of the event target matches a certain element.
$('#parent').on('click', function(event){
if(event.target.tagName.toLowerCase() === 'a'){
alert('Child anchor element clicked!');
} else {
alert('Parent element clicked!');
}
});