yui onAvailable, onContentReady, and onDOMReady

xiaoxiao2022-06-11  24

     昨天在做js拷贝剪切板的功能时,遇到了yui的一个问题。因为这个功能是采用ZeroClipBoard才做的,它会在页面上放置一个透明的flash,当点击它时通过js来设置复制到剪切板的内容,关于ZeroClipBoard请参考相应的文档。

     我需要的功能时复制页面中一个大的图片的地址。在测试的时候发现在ff下,这个flash的位置总是有问题,时而正常时而不正常,而在ie7下则没有这个问题,弄了半天才发现问题出在yui的onDOMReady,因为onDOMReady是表示页面所有的元素都加载完后的状态,这里不包含图片,我猜ff做了一些优化,这样有时图片还没有加载完,js已经计算flash的位置了,图片加载后,flash的位置就不正确了。

     解决的办法就是对于设置ZeroClipBoard要在整个窗口都加载完全后才调用。

YAHOO.util.Event(window, "on", function() { ... });

     关于onAvailable, onContentReady, and onDOMReady文档是怎么写的:

onAvailable: onAvailable 指向一个单独的元素,当这个元素可用时执行此方法(此时执行 document.getElementById() ) — 但是你不能就确定此时该元素的所有的子元素都是可用的. onContentReady: 当你不仅仅关心该目标元素还关心它的子元素的时候,使用onContentReady 。该方法可以告诉你该目标元素以及其子元素都是可用的。 onDOMReady: 有一些DOM的脚本直到整个DOM被下载下来才能安全地执行onDomReady 可以让你获知整个文档已经被安全地下载下来,此时你可以使用脚本修改DOM文档。

 

 

转载请注明原文地址: https://www.6miu.com/read-4930430.html

最新回复(0)