Javascript 为什么body onload工作,但window.onload或document.onload不工作
所以我想隐藏一个div,所以我有我的代码Javascript 为什么body onload工作,但window.onload或document.onload不工作,javascript,Javascript,所以我想隐藏一个div,所以我有我的代码 function hide(){hide div code} document.onload = hide(); 不起作用 不起作用 但是如果我转到HTML文档并编写 <body onload="hide()"> 这很有效 现在我明白了我不应该在html文档中使用javascript,但是我如何让javascript等待整个页面加载完毕,然后执行一些代码呢。我确信代码是在页面加载之前运行的,我就是不知道为什么 你对我如何实现这一点
function hide(){hide div code}
document.onload = hide();
不起作用
不起作用
但是如果我转到HTML文档并编写
<body onload="hide()">
这很有效
现在我明白了我不应该在html文档中使用javascript,但是我如何让javascript等待整个页面加载完毕,然后执行一些代码呢。我确信代码是在页面加载之前运行的,我就是不知道为什么
你对我如何实现这一点有什么想法吗?要实现这一点,你必须传递函数本身,而不是调用它并传递它返回的值 这意味着你必须写:
window.onload = hide; // Without parentheses.
在传递过程中,请注意,只有
窗口
,而不是文档
才支持传递。要使此工作正常,您必须传递函数本身,而不是调用它并传递它返回的值
这意味着你必须写:
window.onload = hide; // Without parentheses.
顺便说一句,请注意,只有
窗口
支持此功能,而不是文档
也可以尝试这样调用代码:
window.onload = function () { hide(); }
此外,您可以尝试如下方式调用代码:
window.onload = function () { hide(); }
是的,我修复了它,它是另一个JS元素,给我的函数带来了麻烦 是的,我修复了它,是另一个JS元素给我的函数带来了麻烦 它似乎不起作用。即使我为测试而输入的警报也不起作用,但是当我有括号时,它(警报)起作用。当您将处理程序分配给
窗口时。onload
?如果这样做太晚,加载事件可能已经触发。window.onload位于页面顶部。我修复了它,这是另一个JS元素引起的问题。感谢您注意到document.onload=hide(不带括号)不起作用。它似乎不起作用。即使我为测试而输入的警报也不起作用,但是当我有括号时,它(警报)起作用。当您将处理程序分配给窗口时。onload
?如果您这样做太晚,加载事件可能已经触发。window.onload位于页面顶部。我修复了它,它是另一个JS元素引起的问题。感谢您注意到document.onload=hide(不带括号)不起作用。抱歉,请尝试window.onload而不是document.onload抱歉,尝试window.onload而不是document.onload