Delegation: use e.srcElement if e.target is unavailable