小弟最近学习javascript,继而学习了一个js类库---YUI。
先总体说一下YUI的类库。YUI是一个基于事件和DOM的库。所以要学习它必须首先学习EVENT和DOM两个主要的组件。
1.event 库
yui捕捉事件是依赖于event组件。而几乎所有的web操作都是基于事件的。所以要想使用yui最好先看event库。
首先从一个简单的例子开始。我们的需求是:点击一个div区域。返回一个对话框显示HelloWorld。根据需求我们发现这个需求很简单,就是处理一个click事件。处理分为一下3步:
1导入依赖包
- <script type="text/javascript" src="../../build/yahoo/yahoo.js"></script>
- <script type="text/javascript" src="../../build/event/event.js"></script>
2编写响应事件的function
- //A function that pops up a "Hello World" alert:
- var helloWorld = function(e) {
- alert("Hello World!");
- }
3处理事件(div 区域的id是container)
- YAHOO.util.Event.addListener("container", "click", helloWorld);
使用这个代码就可以实现了事件响应,但是假如我希望在触发这个事件之前先判断这个区域是否包含名为test的class呢,比如
这个div为:
- <div "container" class="yui test"> </div>
这时我们就要向web中导入dom组件了
- <script type="text/javascript" src="../../build/dom/dom.js"></script>
之后再修改click的响应function
- var helloWorld = function(e) {
- if(YAHOO.util.Dom.hasClass('container', 'test'))
- alert("Hello World!");
- }
这样就基本实现了我们的功能。也基本了解了yui的处理机制。它的处理机制就是根据你的不同需求调用不同的组件,在每个组件中都有一个全局的对象:YAHOO.util.XXX 其中XXX就是你调用的组件,而组件中的方法我们可以从帮助文件中方便的获得。