我有一个表单可以动态隐藏文本输入字段,具体取决于加载时选项字段的初始选择。经过反复试验,我意识到 <script>
标签必须放在 <form>
下面使此功能正常工作的元素:
<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>
事件window.onload
是一个全局事件,在页面的所有资源(包括 DOM、图像、框架等)加载完毕后触发。那么,为什么 <script>
仍然是必要的?标签放置在 <form>
下方元素?
最佳答案
因为您执行 init 函数
而不是将指针分配给函数...
改变:
window.onload = init();
收件人:
window.onload = init;
关于javascript - 为什么 <script> 在 HTML 中对 window.onload 事件的定位很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272307/