Hacker News new | ask | show | jobs
by bengillies 4634 days ago
right. undefined is falsy, but it's quite different to false (i.e. undefined !== false)
1 comments

true, but a boolean return value is expected for event listener callbacks.
That's not quite how it works. jQuery checks specifically for false with an === comparison. It doesn't do anything like a !! on the return value to convert it to boolean true or false. It only calls stopPropagation and preventDefault when the return value is false, not just any falsy value.

I posted the jQuery code in a previous comment; take a look at that and you can see how it works.