質問する
50 次
2 に答える
2
pctaddLoadEvent(loadpapi());
このコードは loadpapi
(他の関数呼び出しと同様に) を呼び出し、結果を に渡しpctaddLoadEvent
ます。
関数を呼び出さずに渡したい。
于 2013-05-13T14:57:05.277 に答える
2
イベントを から に変更しましdocument.onload
た:ここでwindow.onload
の議論を参照してください。
このdocument.onload
vswindow.onload
は複雑なテーマです。document.onload
イベントがブラウザによってまったく起動されていない可能性があります。(または、一方がウィンドウを処理し、もう一方が DOM ツリーを処理するためdocument.onload
、JavaScript 関数がアクションを実行したときにイベントが既に発生している可能性があります。さらにテストを行うことで確認できます。)
また、パラメーターとして渡される関数()
は、戻り値ではなく関数自体を渡したいため、 なしで渡されます。
function loadpapi(){
alert("Hello World!");
}
function pctaddLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
pctaddLoadEvent(loadpapi);
デモ フィドルを確認してください: http://jsfiddle.net/st4kQ/
于 2013-05-13T15:10:48.663 に答える