I want an element to listen for a custom event that is actually triggered by itself. The custom event could possibly be triggered from a descendant but should then be ignored. I
.on works fine; to ignore ancestors check e.target:
.on
e.target
$el.on('customEvent', function(e) { if(e.target === this) { //Do whatever } });