我有办法检索并更改onload函数的值吗?
即
我想获得此标签上onload的值:
<body onLoad="test();">
我有办法做到这一点吗?
因为我需要在某些情况下更改被调用的函数。
答案 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>
这将用新的函数覆盖原始函数。只要您在事件发生之前执行此操作,就会调用您的新函数。