gpt4 book ai didi

javascript - 为什么不在 body 元素上使用 Javascript 处理程序?

转载 作者:太空狗 更新时间:2023-10-29 14:45:30 24 4
gpt4 key购买 nike

作为对 'How do you automatically set the focus to a textbox when a web page loads?' 问题的回答, Espo建议使用

<body onLoad="document.getElementById('<id>').focus();">

Ben Scheirman replies (没有进一步解释):

Any Javascript book will tell you not to put handlers on the body element like that

为什么这会被视为不好的做法?在 Espos 的回答中,说明了一个“覆盖”问题。这是唯一的原因,还是还有其他问题?兼容性问题?

最佳答案

使用 onLoad 变得越来越不常见,因为不能使用此方法堆叠回调,即新的 onload 定义覆盖旧的。

在 jQuery 及其 .load() 等现代框架中,回调可以堆叠,在同一页面上使用不同的脚本、插件等时不会发生冲突。

此外,将标记与代码分开被广泛认为是一种好的做法,因此即使有人想要使用 onload(如果您控制整个环境并且知道什么,这完全没问题你正在做)有人会在脚本端附加该事件,或者在 head 或一个单独的 javaScript 文件中:

window.onload = function() { document.getElementById...... }

关于javascript - 为什么不在 body 元素上使用 Javascript 处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2728922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com