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

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

1 要使用YUI全局对象,只需添加如下引用:
Html代码
2 如果你想要使用拖放和动画功能,可以使用use()方法加载:
Javascript代码  
该方法的最后一个参数是一个回调函数,该函数在完成所有指定模块的加载
后被调用,调用时传递一个参数:一个YUI的实例。

3 YUI全局对象有一个Lang对象,其中没有设什么新鲜东西,就是javascript语言
本身的一些功能,但是在这里做了一个统一以便于使用:
Javascript代码
YUI 3 学习笔记(2- Node
Node是用来操作DOM node的工具,实际上每一个Node实例都代表着一个DOM node,每一
NodeList都代表着一组DOM node.
YUI2.xblur事件YUI3.0相关的api发生了一些变化,具体可以参见本文的最后部分。
1. 要使用Node,首先要引入YUI3的种子文件:
Html代码
然后加载相应模块:
Javascript代码
YUI().use('node', function(Y) {
});


2. 获得Node
  可以使用()获取Node,该方法的参数可以是一个Node,也可以是一个选择器(selector,
在使用选择器时,返回第一个匹配的元素。默认情况下css3选择器不被支持,如果要使用,需要
加载selector-css3”模块。关于css3 selector可以参见这里:
/TR/css3-selectors
以下是使用()的例子:
Javascript代码

3. 访问Node属性
  可以使用Nodesetget方法访问Node的属性,需要注意的是如果返回节点的话返回的是
YUI Node而不是DOM node,这一点在其他地方也要注意。
以下是相关的例子:
Javascript代码

4. 事件监听
  可以用on方法添加事件:
Javascript代码
5. DOM方法
  Y.Node提供了所有DOM node的原有方法
 
6. NodeList的使用
  NodeList提供了与Node相似的API,但是它的处理时对所有NodeList中的所有Node作用的。
  例如如下代码对demo的所有子元素添加'bar'类:
Javascript代码
  YUI().use('node', function(Y) {
    Y.one('#demo').get('children').addClass('bar');
});



7.
  Node提供onealltest方法分别实现查第一个匹配元素,查所有匹配元素,测试
是否存在匹配元素的功能
8. YUI 2.xYUI 3.x的对应表
  YUI2.xNode功能是由YAHOO.util.Dom提供的,其与YUI3.0的对应关系如下:
(图太大·在下面···)
YUI 3 学习笔记(3)- Event
YUI的Event包可以用来操纵DOM事件,也可以自定义事件。

1. 要使用Event,首先要引入YUI3的种子文件:
Html代码
然后加载相应模块:
Javascript代码
YUI().use('node', function(Y) {
});




2. 设置事件响应函数:on()
有两个on方法,一个是YUI的,一个是Node

Y.on("click", handleClick, "#foo p") 设置元素"#foo p"click事件处理函数为handleClick
("click", handleClick) 的作用与上面的一样

对于YUIon方法,参数如下:
1) 事件名。关于各事件在主要浏览器中的兼容性,可以参见这里:
/dom/events/index.html
2) 事件处理句柄
3) 元素,可以是多个,多个的写法是这样:["#foo p", "#bar"]
4) 上下文对象,即事件处理函数中的this,如果忽略,就是target元素的Node
5) 参数,可以有多个,按顺序为事件处理函数中event之后的参数


3. 移除事件响应函数
有三种方式:
1) 在事件名前加前缀,然后用YUIdetach移除
2) 保存事件句柄,然后通过该句柄移除
3) YUIdetach,指定事件名、处理函数和元素

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。