论坛首页 Web前端技术论坛

YUI 3 学习笔记(1)-YUI Global对象

浏览 4363 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-01   最后修改:2010-04-05
YUI
YUI3模块已经发布,配套的工具及部件虽然现在还不全,但也计划于2010
年全部推出,本人感觉YUI功能比较全面,而且有比较详细的文档,所以
一直比较关注,这是本人学习YUI文档的一系列笔记。

YUI模块是YUI3中的单一核心,所有需要使用YUI3的页面都必须包含该
模块,该模块提供加载功能,可以使用该功能动态加载指定模块,其依
赖模块会被自动加载,所以YUI模块可以看成YUI的一个种子。

YUI模块创建了一个全局对象:YUI,一个页面可以共享一个YUI实例,也
可以使用多个实例。

1 要使用YUI全局对象,只需添加如下引用:
<script src="http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js"></script>

2 如果你想要使用拖放和动画功能,可以使用use()方法加载:
YUI().use('dd-drop', 'anim', function(Y) {
    // Y.DD is available
    // Y.Anim is available
});

该方法的最后一个参数是一个回调函数,该函数在完成所有指定模块的加载
后被调用,调用时传递一个参数:一个YUI的实例。

3 YUI全局对象有一个Lang对象,其中没有设什么新鲜东西,就是javascript语言
本身的一些功能,但是在这里做了一个统一以便于使用:
YUI().Lang.isArray()
YUI().Lang.isBoolean()
YUI().Lang.isNull()
YUI().Lang.isFunction()
YUI().Lang.isNumber()
YUI().Lang.isObject()
YUI().Lang.isString()
YUI().Lang.isUndefined()
   发表时间:2010-06-28  
楼主
我想请问你个问题
我在弄一个简单的例子的时候出错
<script src="http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js"></script>
<script type="text/javascript">
	YUI().use('*', function(Y) {
		function fnHandler(e) {
			alert("I'm Done!");
		}
		Y.on("domready", fnHandler, Y, "The DOMContentLoaded event fired.  The DOM is now safe to modify via script.");
	});
</script>

Uncaught TypeError: Object [object Object] has no method 'on'


YUI3在加载库文件的时候是什么样的一个过程呢?
谢谢
0 请登录后投票
   发表时间:2010-06-29  
加上以下对js的引用就可以了:

<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0/build/event/event-custom.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0/build/event/event.js"></script>


如果不加的话,只会以yui包里的所有代码初始化YUI对象。

或者把
YUI().use('*', function(Y)
改为
YUI().use('event', function(Y)

这样可以让yui自动搜索event包并用其中的代码初始化YUI对象
0 请登录后投票
   发表时间:2010-06-29  
谢_谢楼主,看来我把use('*')理解错了,刚开始学YUI3
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics