Вы можете сохранить старую функцию onresize и вызывать ее до или после вашей пользовательской функции изменения размера.Пример, который должен работать, будет выглядеть примерно так:
var oldResize = window.onresize;
function resize() {
console.log("resize event detected!");
if (typeof oldResize === 'function') {
oldResize();
}
}
window.onresize = resize;
У этого метода могут быть проблемы, если есть несколько функций одного размера.Вы можете сохранить старую функцию onresize как часть замыкания и вызвать старую после вашей функции.
function addResizeEvent(func) {
var oldResize = window.onresize;
window.onresize = function () {
func();
if (typeof oldResize === 'function') {
oldResize();
}
};
}
function foo() {
console.log("resize foo event detected!");
}
function bar() {
console.log("resize bar event detected!");
}
addResizeEvent(foo);
addResizeEvent(bar);
Когда вы вызываете addResizeEvent, вы передаете ему функцию, которую хотите зарегистрировать.Он берет старую функцию изменения размера и сохраняет ее как oldResize.Когда произойдет изменение размера, оно вызовет вашу функцию, а затем вызовет старую функцию изменения размера.Вы должны иметь возможность добавлять столько вызовов, сколько захотите.
В этом примере, когда окно изменяет размеры, оно будет вызывать bar, затем foo, а затем все, что было сохранено в window.resize (если что-то было).