如何在YUI中加载与ajax html片段相关的延迟脚本

时间:2010-05-10 21:33:48

标签: ajax yui

我有一个带有消息和联系人标签的Web应用程序(想想gmail)。每个Tab都有一个Y.on('click')事件监听器,它通过Y.io()检索HTML片段,并通过node.setContent()呈现片段。

但是,“联系人”选项卡还需要contact.js才能启用片段中的“编辑”按钮。 如何在用户单击“联系人”选项卡之前推迟加载contact.js的成本? contact.js应该如何将它的监听器添加到“编辑”按钮?

我的标签的完整功能('click')事件可以在Y.io('fragment')之后序列化Get.script('contact.js')。但是,为了获得更好的性能,我宁愿并行下载脚本来下载HTML片段。在这种情况下,我需要将“事件监听器”添加到“编辑”按钮,直到“编辑”按钮可用。

这似乎是一种常见的RIA设计模式。使用YUI实现此目的的最佳方法是什么?我该如何获取脚本?我应该如何推迟脚本的各个部分,直到片段中的元素可用在DOM中?

2 个答案:

答案 0 :(得分:0)

据戴维说:

“我要做的是在HTML片段的IO回调中,在调用setContent之后,使用Y.Get加载脚本文件:”

这很合理。

答案 1 :(得分:0)

Caridy的Dispatcher module也可以解决这个问题,可能是我最喜欢的解决这个问题的方法。它刚好在今天的YUI开放时间&它看起来很棒。