observe
1.6.0

observe(eventName, handler) -> document

侦听整个文档范围内的给定事件。也可以用于侦听 "dom:loaded" 事件。

document.observeElement#observe 基于整个文档范围的版本。它与 Event.observe(document, eventName, handler) 是等价的。

"dom:loaded" 事件

Prototype 创建了一个确实非常有用的事件:你可能希望在文档的 DOM 树载入完成后,能够获取一个通知, 这就是所谓的 "dom:loaded" 事件。在支持 DOMContentLoaded 事件的浏览器上, Prototype 会在 DOMContentLoaded 事件上触发 "dom.loaded" 事件。对于不支持 DOMContentLoaded 事件的浏览器,Prototype 会智能地模拟出 DOM 树载入完成事件。 如果你以前使用 window.onload 事件,现在也可能会转向 dom:loaded, 因为它会在 HTML 文档完全载入后,但页面上的图片尚未载入完成前就立即触发。window.onload 事件只有在页面上所有的图片都已经完全载入后才会发生,对于一些初始化过程,这可能不太适合, 比如说页面上的图片很多,而你又需要隐藏页面上的某些区域(因为图片载入所需的时间会很长, 而需要隐藏的区域又不能长时间显示)。

样例

document.observe("dom:loaded", function() { 
	// initially hide all containers for tab content 
	$$('div.tabcontent').invoke('hide'); 
});