何时使用 dom:loaded / document.ready 事件
当我使用使用prototype/jquery将数据“附加”到现有元素的方法时,将此类逻辑包装在 document.observe("dom:loaded", foo)
/中是否是一个好习惯$(document).ready(foo)
函数?
When I use methods that "append" data to existing elements using prototype/jquery, is it a good practice to wrap such logic inside document.observe("dom:loaded", foo)
/$(document).ready(foo)
functions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果没有就绪/加载事件,您的代码将不会触发,除非它位于页面底部。这是因为当从
部分(在正文之前执行)读取代码时,这些元素不存在。
试试这个:
然后试试这个:
你就会明白我的意思了:)
Without a ready/loaded event, your code won't fire unless it's at the bottom of the page. This is because the elements don't exist when the code gets read from the
<head>
section (which executes before the body).Try this:
And then try this:
You'll see what I mean :)
好吧,考虑在 DOM/window 准备好之前引用元素是行不通的,除非它是
html
元素,或者您直接在标记中的元素后面注入它,是的,这是真正完成它的唯一方法。上面的方法会失败并返回 null。
Well, considering referencing elements before DOM/window ready will not work unless it's the
html
element or you are injecting it after the element in the markup directly, yes it's the only way to really get it done.The above would fail and return null.