Skip to content

Commit 2a5dd63

Browse files
committed
Checks added to removeResizeListener
1 parent 1b79a1a commit 2a5dd63

File tree

2 files changed

+31
-9
lines changed

2 files changed

+31
-9
lines changed

detect-element-resize.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,22 @@
137137
window.removeResizeListener = function(element, fn){
138138
if (attachEvent) element.detachEvent('onresize', fn);
139139
else {
140-
element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
141-
if (!element.__resizeListeners__.length) {
140+
var resizeListeners = element.__resizeListeners__,
141+
resizeTriggers = element.__resizeTriggers__,
142+
idx;
143+
144+
if (resizeListeners) {
145+
idx = resizeListeners.indexOf(fn);
146+
if (idx !== -1) {
147+
resizeListeners.splice(idx, 1);
148+
}
149+
if (!resizeListeners.length) {
142150
element.removeEventListener('scroll', scrollListener);
143-
element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
151+
if (resizeTriggers) {
152+
element.__resizeTriggers__ = !element.removeChild(resizeTriggers);
153+
}
154+
}
144155
}
145156
}
146-
}
157+
};
147158
})();

jquery.resize.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,26 @@
150150
element.__resizeListeners__.push(fn);
151151
}
152152
};
153-
153+
154154
window.removeResizeListener = function(element, fn){
155155
if (attachEvent) element.detachEvent('onresize', fn);
156156
else {
157-
element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
158-
if (!element.__resizeListeners__.length) {
157+
var resizeListeners = element.__resizeListeners__,
158+
resizeTriggers = element.__resizeTriggers__,
159+
idx;
160+
161+
if (resizeListeners) {
162+
idx = resizeListeners.indexOf(fn);
163+
if (idx !== -1) {
164+
resizeListeners.splice(idx, 1);
165+
}
166+
if (!resizeListeners.length) {
159167
element.removeEventListener('scroll', scrollListener);
160-
element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
168+
if (resizeTriggers) {
169+
element.__resizeTriggers__ = !element.removeChild(resizeTriggers);
170+
}
171+
}
161172
}
162173
}
163-
}
174+
};
164175
}( jQuery ));

0 commit comments

Comments
 (0)