1

有没有办法让我检索和更改 onload 函数的值?

IE

我想在这个标签上获取 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 回答