16. Workarounds from Feb 2014
● L40 -- Firefox 18+
● L255 -- IE < 9
● L282 -- Firefox <20
● L312 -- Android < 4, iOS < 6 / old Chrome/Safari issue
● L692 -- Firefox
● L3483 -- WebKit issue, fixed in recent WebKit?
○ Android 2.3 Support
● L3484 -- Same as L3483
● L3520 -- WebKit issue, fixed in recent WebKit?
○ Android 2.3 Support
● L3977 -- WebKit issue
○ Android 2.3 Support
● L3980 -- WebKit issue, fixed in recent WebKit?
○ Android 2.3 Support
● L3985 -- IE >=9 issue
● L4399 -- Firefox making the mistake of following the DOM2 Events spec
○ There's active discussion of how this should all work
https://bugzilla.mozilla.org/show_bug.cgi?id=968265
● L4508 -- Buggy WebKit port issue
● L4514 -- WebKit issue
● L4565 -- Firefox issue. Filed https://bugzilla.mozilla.org/show_bug.cgi?id=968065
● L4618 -- Android issue
○ Android 2.3 Support
● L4673 -- Chrome issue
● L4701 -- Firefox issue. Filed https://bugzilla.mozilla.org/show_bug.cgi?id=687787
● L4854 -- IE < 10 issue
● L4865 -- IE < 10 issue
● L4871 -- Not a browser issue at all, afaict
○ In addition to API surface, jQuery 2.x must provide the exact same semantics as jQuery 1.x, which means
we’re forced to carry the burden of some ancient issues such as node wrapping requirements. These are
the most frustrating, but thankfully minimal.
● L4955 and L4975 -- IE >=9 issue
● L5027 -- WebKit Qt port issue
● L5050 -- WebKit Qt port issue
● L5058 -- WebKit issue
● L5303 -- WebKit issue
● L5338 -- WebKit Qt port issue
● L5395 -- WebKit Qt port issue
● L5421 -- Optimization using Firefox-only experimental API
● L5448 -- WebKit and Firefox issue
○ I wrote this several years ago and honestly don’t remember what the issue I encountered was—will
reconfirm ASAP. RW
● L5451 -- IE issue of some sort? Not clear
● L5481 -- IE9 issue
● L5493 -- iOS issue
○ Needs reconfirmation
● L5516 -- IE < 8 issue
● L5545 -- Firefox issue (fixed in v29). Filed https://bugzilla.mozilla.org/show_bug.cgi?id=243412>
○ Android 2.3 Support
17. ● L5563 -- Same Firefox/Old WebKit issue as L5545
○ Android 2.3 Support
● L5593 -- Android issue
○ Android 2.3 Support
● L5654 -- Vendor prefixes
○ Yeah, that part needs to die, but will take a few years. :(
○ Everyone is guilty.
● L5907 -- WebKit issue (Chrome/Safari)
○ Needs reconfirmation
● L5988 -- Android issue
○ Android 2.3 Support
● L6156 -- IE < 11 issue
● L6322 -- IE 9-10 issue
● L6831 -- Android/OldWebKit issue
○ Android 2.3 Support
● L6836 -- IE issue (all versions)
● L6840 -- WebKit issue
● L6845 -- IE issue (all versions)
● L6942 -- IE< 10 issue
● L7049 -- IE issue (old?)
● L7084 -- classList cannot be used
○ Android 2.3 support
● L7316 -- IE < 10 issue
● L7372 -- WebKit issue
● L7425 -- Android issue
○ Android 2.3 Support
● L7439 -- IE < 10 issue
● L7489 -- IE< 9 issue
● L7495 -- IE fallback for L7489r
● L8332 -- Opera < 12.15 (Presto) issue
● L8457 -- IE < 10 issue
● L8462 -- IE < 10 issue
● L8533 -- IE9 issue
● L8801 -- IE issue (same origin policy?)
● L8998 -- WebKit issue
● L9028 -- Mobile Safari issue
Sizzle Issues
● L709 -- Android WebKit bug (possibly fixed?)
○ Android 2.3 Support
○ Sizzle Specific
● L720 -- IE < 9
○ Sizzle Specific
● L763 -- IE < 8/Opera/WebKit bugs
○ Sizzle Specific
● L799 -- qSA issue
● L802 -- IE8 bug
○ Sizzle Specific
● L886 -- IE6 memory leak fix
○ Sizzle Specific
● L917 -- IE-specific API used for optimization
18. ○ Sizzle Specific
● L997 -- IE < 9 issue?
○ Sizzle Specific
● L1024 -- IE issue
○ Sizzle Specific
● L1027 -- IE < 9 issue
○ Sizzle Specific
● L1029 -- IE11 removed attachEvent but old IE doesn't have addEventListener
○ Sizzle Specific
● L1044 -- IE < 8 issue
○ Sizzle Specific
● L1064 -- Safari < 4 issue
○ Sizzle Specific
● L1067 -- Opera < 10 issue
○ Sizzle Specific
● L1072 -- IE < 10 issue
○ Sizzle Specific
● L1098 -- IE < 8 issue
○ Sizzle Specific
● L1149 -- IE9/Opera11.5 issue
○ Sizzle Specific
● L1153 -- IE < 10 qSA issue
○ Sizzle Specific
● L1164 -- IE setup for line L1176
○ Sizzle Specific
● L1170 -- IE 8 / Opera 10-12 qSA issue
○ Sizzle Specific
● L1176 -- IE8 qSA issue
○ Sizzle Specific
● L1182 -- WebKit/Opera qSA issue
○ Sizzle Specific
● L1184 -- IE8 qSA issue
○ Sizzle Specific
● L1191 -- Windows 8 Native Apps issue
○ Sizzle Specific
● L1197 -- IE8 qSA issue
○ Sizzle Specific
● L1204 -- IE8/Firefox 3.5 qSA issue
○ Sizzle Specific
● L1209 -- Opera < 12 qSA issue
○ Sizzle Specific
● L1215 -- Lack of unprefixed matches()/matchesSelector() in UAs?
○ Sizzle Specific
● L1222 -- IE 9 issue and Firefox (old?) issue
○ Sizzle Specific
● L1386 -- IE 9 issue
○ Sizzle Specific
● L1389 -- IE < 10 workaround for (L1286)
○ Sizzle Specific
● L1869 -- Safari issue
○ Sizzle Specific
● L1914 -- IE < 8 issue
○ Sizzle Specific
19. ● L2316 -- IE < 9 issue, Safari issue
○ Sizzle Specific
● L2498 -- Chrome issue, fixed in Chrome 14?
○ Sizzle Specific
● L2505 -- WebKit issue, fixed in Chrome 27
○ Sizzle Specific
● L2512 -- IE < 8 issue
○ Sizzle Specific
● L2526 -- IE < 9 issue
○ Sizzle Specific
● L2540 -- IE <9 issue
○ Sizzle Specific
Special Notations:
Android 2.3 Support.
Many Webkit issues may be fixed in the latest version however we're obligated to maintain support in jQuery 2.x for the
code required to fix those issues as far back as 2.3 due to mobile market share.
Sizzle Specific.
Some issues that appear to be in the "jQuery source" are actually the Sizzle source that is added to the list of files
concatenated together when jQuery is built. Sizzle must work the same way in all browsers as far back as IE6, but can also
be omitted via a custom build, for modern (ie. qSA without bug fixes) browser support.