You can try this:
$('div').click(function(e){
if(e.offsetY >$(this).outerHeight() - 4){
alert('clicked on the bottom border!');
}
});
The .outerHeight()
just returns the height of the content (including border). The e.offsetY
returns the clicked Y relative to the element. Note about the outerHeight
, if passing a bool true
argument, it will include margin
in the calculated value, the default is false
, so it just returns content height + padding + border
.
UPDATE: Looks like FireFox has its own way of behavior. You can see that when clicking, holding mouse down on an element, it's very natural and convenient to know the coordinates of the clicked point relative to the element. But looks like we have no convenient way to get that coordinates in the so-called FireFox because the e.offsetX
and e.offsetY
simply don't work (have no value). Instead you have to use the pageX
and pageY
to subtract the .offset().left
and .offset().top
respectively to get the coordinates relative to the element.