您可以保存舊的onresize函數,並在您的自定義調整大小函數之前或之後調用該函數。應工作的一個例子是這樣的:
var oldResize = window.onresize;
function resize() {
console.log("resize event detected!");
if (typeof oldResize === 'function') {
oldResize();
}
}
window.onresize = resize;
這種方法可以有問題,如果有幾個在onResize功能。您可以將舊的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時,您將它傳遞給您想要註冊的函數。它採用舊的resize函數並將其存儲爲oldResize。調整大小時,它會調用您的函數,然後調用舊的調整大小函數。你應該可以添加儘可能多的電話,只要你願意。
在這個例子中,當窗口調整大小時,它會調用bar,然後foo,然後存儲在window.resize中(如果有的話)。
不錯的一個'好友'謝謝:) – KakambaWeb 2010-07-27 00:41:14