Ale*_*ing 6 html javascript handlers javascript-events onload
作为对"网页加载时如何自动将焦点设置为文本框?"问题的回答?,Espo建议使用
<body onLoad="document.getElementById('<id>').focus();">
Run Code Online (Sandbox Code Playgroud)
Ben Scheirman 回复(未作进一步解释):
任何javascript书都会告诉你不要把处理程序放在body元素上
为什么这被认为是不好的做法?在Espos答案中,说明了"覆盖"问题.这是唯一的原因,还是有其他问题?兼容性问题?
使用onLoad变得越来越不常见,因为使用此方法无法堆叠回调,即新onload定义会覆盖旧定义.
在像jQuery和它这样的现代框架中.load(),回调可以堆叠,并且在同一页面上使用不同的脚本,插件等时没有冲突.
此外,将标记与代码分开是一种广泛认为的好习惯,因此即使有人想要使用onload(如果您控制整个环境并知道自己在做什么,这是完全可以的),可以将该事件附加到脚本方面或在head单独的javaScript文件中:
window.onload = function() { document.getElementById...... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |