Javascript 为什么<;脚本>;HTML中的window.onload事件是否重要?
我有一个表单,根据加载时选项字段的初始选择动态隐藏文本输入字段。经过一些尝试和错误后,我意识到必须将Javascript 为什么<;脚本>;HTML中的window.onload事件是否重要?,javascript,html,events,javascript-events,Javascript,Html,Events,Javascript Events,我有一个表单,根据加载时选项字段的初始选择动态隐藏文本输入字段。经过一些尝试和错误后,我意识到必须将标记放置在元素下方,才能使此功能正常工作: <html> .... <body> .... <form> <select name=choice> <option value=0 selected>Default</option> <option value=1>Others</o
标记放置在
元素下方,才能使此功能正常工作:
<html>
....
<body>
....
<form>
<select name=choice>
<option value=0 selected>Default</option>
<option value=1>Others</option>
</select>
<input type=text name=others></input>
</form>
....
<script type='text/javascript'>
function init()
{
var A = document.forms[0].choice;
var B = document.forms[0].others;
if(A.options[A.selectedIndex].value == 0) B.style.display = 'none';
}
window.onload = init();
</script>
....
</body>
</html>
....
....
违约
其他
....
函数init()
{
var A=document.forms[0]。选项;
var B=document.forms[0]。其他;
如果(A.options[A.selectedIndex].value==0)B.style.display='none';
}
window.onload=init();
....
事件
窗口。onload
是一个全局事件,在加载页面的所有资源(包括DOM、图像、帧等)后触发。那么,为什么仍然需要将
标记放在
元素下面?因为您执行init函数而不是将指针分配给函数
更改:
window.onload = init();
window.onload = init;
致:
因为您正在执行init函数
,而不是将指针分配给函数
更改:
window.onload = init();
window.onload = init;
致:
JavaScript和HTML工作正常。但我看到你的密码有点不明白
window.onload = init();
该行表示立即使用execute init函数,并将函数结果设置为onload事件。这就是为什么将它放在表单元素下时它会工作的原因。JavaScript和HTML工作正常。但我看到你的密码有点不明白
window.onload = init();
该行表示立即使用execute init函数,并将函数结果设置为onload事件。这就是为什么将其放在form元素下时会起作用的原因。这是因为您的代码中有一个输入错误:
window.onload = init();
这实际上是立即调用init
函数(然后将window.onload
设置为未定义)。尝试:
这是因为您的代码中有一个输入错误:
window.onload = init();
这实际上是立即调用init
函数(然后将window.onload
设置为未定义)。尝试: