Javascript YUI:确保DOM元素和脚本准备就绪

Javascript YUI:确保DOM元素和脚本准备就绪,javascript,dom,yui,Javascript,Dom,Yui,如果我将内联脚本放在它与之交互的DOM元素之后,我还应该使用YUI 3吗? 我没有注意到任何问题,看起来我可以指望浏览器按顺序加载页面。(我已经使用了YUI()。使用('node',…)来确保我需要的YUI函数已经加载,因为YUI脚本是一个单独的文件。) 有没有办法加速加载YUI 2的日历之类的小部件? 我加载页面的in元素。我使用YUI()。使用('yui2-calendar',…)确保日历小部件可用。不幸的是,当我加载带有日历的页面时,这会导致短暂但明显的延迟。如果我忽略YUI(),请使用(

如果我将内联脚本放在它与之交互的DOM元素之后,我还应该使用YUI 3吗?
我没有注意到任何问题,看起来我可以指望浏览器按顺序加载页面。(我已经使用了
YUI()。使用('node',…
)来确保我需要的YUI函数已经加载,因为YUI脚本是一个单独的文件。)

  • 有没有办法加速加载YUI 2的日历之类的小部件?
    我加载页面的in
    元素。我使用
    YUI()。使用('yui2-calendar',…
    )确保日历小部件可用。不幸的是,当我加载带有日历的页面时,这会导致短暂但明显的延迟。如果我忽略
    YUI(),请使用('yui2-calendar',…
    code然后它会在没有明显延迟的情况下显示-但我想如果YUI脚本没有及时加载,这可能会导致日历根本不显示

  • 关于#2,是否有可能减少日历不存在然后出现的视觉伪影?
    我为父div指定了一个高度和宽度,这样至少已经分配了空间=>加载时的最小移位量,从而使它稍微好一点


  • 如果它位于所述有问题的节点之后,则不需要
    DOMContentLoaded
    (或domready)

  • 如果访问DOM元素的代码位于标记中这些元素之后,则不需要domready。这通常适用于DOM脚本,而不仅仅是YUI

  • YUI 2 calendar与yahooapi.com/2.8.0r4/build/calendar/calendar-min.js不同。前者包含一些包装代码,用于在YUI 3实例环境中对日历API及其依赖项进行沙箱处理。如果您在,您不需要使用YUI 2日历。这样做只需加载两次日历代码。否则,要利用YUI 3的动态异步加载,您可以从中删除,然后直接使用('YUI 2-calendar')。在yui-min.js种子文件之后的标记中包含yui2-*组合,可以获得加快渲染时间的外观。请注意,加载程序将始终获取css文件,因此不需要将其包含在标记中

  • 您可以在页面加载时包含呈现日历的css和标记,然后呈现到标记容器中。我不认为YUI 2 Calendar有逐步增强现有标记的概念,但我可能错了。它应该使用生成的标记来替换静态表标记,并使UI生动


  • 谢谢你如此详尽的回答,卢克-这是非常有帮助的!