如何检索onload中调用的函数?

时间:2013-02-21 16:15:35

标签: javascript

我有办法检索并更改onload函数的值吗?

我想获得此标签上onload的值:

 <body onLoad="test();">

我有办法做到这一点吗?

因为我需要在某些情况下更改被调用的函数。

1 个答案:

答案 0 :(得分: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>

这将用新的函数覆盖原始函数。只要您在事件发生之前执行此操作,就会调用您的新函数。