jQueryを使用して、ロードハンドラーをチェーンできます。ハンドラーを繰り返し使用するjQuery.load
か、jQuery(document).ready
チェーンします(私は信じています)。他のオプションは、プログラムでそれを行うことです。つまり、onloadハンドラーをチェーンする補助関数が必要です。クロージャ(または無名関数)を使用してこれを行うことができます:
var addOnLoadHandler = function(newHandler) {
if (typeof window.onload != 'function') {
window.onload = newHandler;
}
else {
var oldHandler = window.onload;
window.onload = function() {
if (oldHandler) {
oldHandler();
}
newHandler();
};
}
};
ただし、プログラムで関数をバインドする必要があるため、次のことを行う必要があります。
addOnLoadHandlers(function() {
alert("Hi I am the first onLoad handler!");
});
addOnLoadHandlers(function() {
alert("Hi I am the second onLoad handler!");
});
javascriptファイル(またはhtmlファイル)。
別のアプローチは、配列を使用することです。
var onloaders = new Array();
function runOnLoads() {
for (i = 0; i < onloaders.length; i++) {
try {
var handler = onloaders[i];
handler();
} catch(error) {
alert(error.message);
}
}
}
function addLoader(obj) {
onloaders[onloaders.length] = obj;
}
HTMLまたはJavascriptファイルで次のことを行います。
addLoader(function() {
alert("Hi I am the first onLoad handler!");
});
addLoader(function() {
alert("Hi I am the second onLoad handler!");
});
それからあなたのhtmlであなたはただすることができます<body onload="runOnLoads()">