1

onload 関数の値を取得して変更する方法はありますか?

すなわち

このタグの onload の値を取得したい:

 <body onLoad="test();">

これを行う方法はありますか?

特定の状況で呼び出される関数を変更する必要があるためです。

4

1 に答える 1

0

はい、から入手できますwindow.onload

var func = window.onload;

あなたの例を考えると、次のような関数が得られます。

var func = function(event) {
    test();
};

そのため、必要なときにいつでも関数を呼び出すことができますが、event渡すオブジェクトはありません。

func();

onload変更するには、イベントが発生する前に次のようにします。

<body onload="test();">

    <script>
    var func = window.onload;

    alert(func); // alerts the function

    if (condition_is_met) {
        window.onload = function() { 
            /* my new func */ 
        };
    }
    </script>

</body>

これにより、元の関数が新しい関数で上書きされます。イベントが発生する前にそれを行う限り、新しい関数が呼び出されます。

于 2013-02-21T16:23:21.550 に答える