mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
0c5becce0e
jQuery UI 1.13.0 changed the logic attaching the `_untrackClassesElement` listener in the `_classes` widget method; one of the side effects was calling `this._on` for each node that needed the listener. That caused a severe performance degradation for large comboboxes as each `_on` jQuery UI call causes a jQuery `add` call that calls Sizzle's `uniqueSort` underneath. Instead, collect the nodes that need the listener and then, outside of the loop, create a jQuery object out of them and attach the listener once. That's still slower than the jQuery 1.12 version but only slightly: 936 ms to 1.03s on a very large list on a recent MacBook Pro, compared to ~30 seconds before this patch. Fixes gh-2014 Closes gh-2037 |
||
---|---|---|
.. | ||
effects | ||
i18n | ||
vendor/jquery-color | ||
widgets | ||
.eslintrc.json | ||
core.js | ||
data.js | ||
disable-selection.js | ||
effect.js | ||
focusable.js | ||
form-reset-mixin.js | ||
form.js | ||
ie.js | ||
jquery-patch.js | ||
jquery-var-for-color.js | ||
keycode.js | ||
labels.js | ||
plugin.js | ||
position.js | ||
safe-active-element.js | ||
safe-blur.js | ||
scroll-parent.js | ||
tabbable.js | ||
unique-id.js | ||
version.js | ||
widget.js |