Couple of minutes ago, I answered the question:
What is the difference between focusin/focusout vs focus/blur in jQuery?
The answer was:
Short answer: focusin
bubbles, focus
does not.
focusout
bubbles, blur
does not.
I tested it, it's true, but I encountered a weird thing while trying to set up a DEMO:
$('#test').on('focusin focusout focus blur change', function(e) {
console.log(e.type + 'event bubles? : ' + e.bubbles);
});
focusin
and focusout
give me e.bubbles == false
Is it a bug of jQuery or am I missing the obvious here?
Sounds like a bug in jQuery. Did you test this on a browser that supports focusin
and focusout
natively? (E.g., IE?) Because if not, you're testing the flag for jQuery's emulated support.
I've crossed out the "Sounds like a bug" bit above because jQuery doesn't claim to normalize the bubbles
property in the documentation. So since it doesn't guarantee it, it doesn't have to support it on emulated events. (Note that if I run your demo on IE7, I get undefined
because IE7 doesn't support the DOM3 Events bubbles
property.) Still an issue, but perhaps not a bug. :-)
Update:
Response on the jQuery ticket:
The documentation doesn't claim to normalize the event.bubbles property. You can look for it in event.originalEvent but that will be whatever the platform provided, unnormalized.
So my guess above was correct. It's not a bug, because they don't claim to normalize that. :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With