Skip to content

Commit 7f89f73

Browse files
committed
Update jQuery UI check, and updated code for cleanData - Fixes #182
1 parent 9a7d51d commit 7f89f73

File tree

4 files changed

+38
-28
lines changed

4 files changed

+38
-28
lines changed

dist/jquery.contextMenu.js

+18-13
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* MIT License http://www.opensource.org/licenses/mit-license
1313
* GPL v3 http://opensource.org/licenses/GPL-3.0
1414
*
15-
* Date: 2015-09-17T19:58:02.201Z
15+
* Date: 2015-09-17T20:19:18.218Z
1616
*/
1717

1818

@@ -61,20 +61,25 @@
6161
})();
6262
*/
6363

64-
if (!$.ui || !$.ui.widget) {
64+
if (!$.ui || !$.widget) {
6565
// duck punch $.cleanData like jQueryUI does to get that remove event
66-
// https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js#L16-24
67-
var _cleanData = $.cleanData;
68-
$.cleanData = function (elems) {
69-
for (var i = 0, elem; (elem = elems[i]) != null; i++) {
70-
try {
71-
$(elem).triggerHandler('remove');
72-
// http://bugs.jquery.com/ticket/8235
73-
} catch (e) {
66+
$.cleanData = (function (orig) {
67+
return function (elems) {
68+
var events, elem, i;
69+
for (i = 0; (elem = elems[i]) != null; i++) {
70+
try {
71+
// Only trigger remove when necessary to save time
72+
events = $._data(elem, 'events');
73+
if (events && events.remove) {
74+
$(elem).triggerHandler('remove');
75+
}
76+
77+
// Http://bugs.jquery.com/ticket/8235
78+
} catch (e) {}
7479
}
75-
}
76-
_cleanData(elems);
77-
};
80+
orig(elems);
81+
};
82+
})($.cleanData);
7883
}
7984

8085
var // currently active contextMenu trigger

0 commit comments

Comments
 (0)