YUI之Attribute类
Attribute类用于向一个类添加属性,它给类增加了set和get函数用于操作属性值,同时还支持change事件以便监视属性的变化,此外,还可以自定义属性的setter、getter和校验方法,可以定义属性为只读或者一次写(write-once)
1. 要使用Attribute,首先要引入YUI3的种子文件:
然后加载相应模块:
2. Attribute类是用来扩张一个既存的类,使其具有属性管理功能的,以下是将MyClass扩张
的示例代码:
3. 增加属性
一旦一个类扩张了Attribute功能,就可以使用addAttrs批量添加属性,或者使用addAttr一个一个地添加属性,以下是批量添加的例子:
可以在new这个类或者new之后用set方法对属性赋值:
4. 属性配置属性(Attribute configuration properties)
可以对属性(Attribute)进行配置的属性(properties)参见下表,所有属性都是可选的,也是
大小写敏感的:
value: 默认值
valueFn:函数。返回值会被作为属性的值
getter:函数
setter:函数
validator:函数。在setter前被调用,用来校验数据
readOnly:布尔值
writeOnce:布尔值。0-不广播;1-广播到YUI实例;2-广播到YUI实例和YUI global
lazyAdd:布尔值
cloneDefaultValue:可以为"shallow", "deep", true, false。仅在Base的ATTRS中使用。
以下是在addAttr中使用的例子: 5. 属性变化事件
属性变化事件是一种用户自定义事件,其类型为"[attributeName]Change",例如定义了一个
属性"attrA",那么它的变化事件就是"attrAChange"。
定义事件监听器时可以使用两种方法:on和after。其中用on注册的监听器在变化发生前调用,
我们可以在这里检查数据的合法性,并用Event的preventDefault()方法拒绝对属性的修改。而
用after注册的监听器在事件发生后调用。
以下是对属性"enabled"定义变化事件监听器的示例代码:
事件监听器的第一个参数是以Event对象,它具有以下的属性和方法:
newVal
prevVal
attrName
subAttrName
preventDefault()
stopImmediatePropagation():可以在on和after监听器中使用,用于停止事件在监听器栈中的传播
转自:http://blog.sina.com.cn/s/blog_632d19d50100rzuq.html
分享到:
相关推荐
通过“yui3-master.zip”这个压缩包,开发者不仅可以了解到YUI3的基本架构,还可以通过阅读源码来学习和掌握JavaScript的最佳实践,提升自身的前端开发能力。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。...
首先,我们需要了解RGB和YUV的基本概念。RGB(Red, Green, Blue)是一种加性色彩模型,它基于三种原色——红、绿、蓝,通过不同比例的混合来创建各种颜色。在计算机图形和显示器中,RGB是最常见的颜色表示方法,因为...
1. **YUI库**:了解YUI的基本结构、模块化设计和如何引入到项目中,是使用YUI表单验证器的前提。 2. **表单验证**:表单验证的常见规则包括非空检查、长度限制、格式验证(如邮箱、电话号码等)和自定义验证函数。 3...
《深入理解YUI:基于“yui.rar 例子”的解析》 YUI,全称Yahoo! User Interface Library,是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、易于维护的网页应用。本篇文章将结合“yui.rar 例子”...
`env`模块则包含环境信息和YUI组件的详细信息,这对于了解YUI运行环境和组件状态非常有帮助。`YUI_config.listener`允许定义自定义回调函数,当有新的YUI组件被加载时,该函数会被调用。 YUI的DOM操作是其强大之处...
**YUI 2.7:一个全面的JavaScript和CSS框架** YUI(Yahoo! User Interface Library)是雅虎公司开发的一个开源的JavaScript和CSS库,它为构建高...无论你是新手还是经验丰富的开发者,YUI 2.7都值得你深入了解和使用。
yuicompressor-2.4.2.jar yuicompressor-2.4.7.jar jsZip.exe yuicompressor yui compressor js压缩工具 javascript压缩工具 css压缩工具 ------------------------------------ //压缩JS java -jar yui...
首先,让我们了解什么是yuicompressor。yuicompressor是由Yahoo!公司开发的一款开源的JavaScript和CSS压缩工具,它能够去除代码中的空格、注释,并进行变量名混淆,从而极大地减小文件大小,提高页面加载速度。2.4.8...
《深入理解YUI 3.9.0 r2:界面设计与资源优化》 YUI,全称为Yahoo! User Interface Library,是由雅虎公司开发的一个开源JavaScript库,它旨在简化Web应用程序的构建,特别是对于界面设计和交互效果的实现。在3.9.0...
YUI(Yahoo! User Interface Library)是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、可扩展的...通过下载并研究这个版本,你可以深入了解YUI的工作原理和最佳实践,从而更好地应用于实际项目中。
学习YUI,首先需要掌握JavaScript基础知识,然后通过官方文档了解YUI的模块化结构和API。官方文档详细且全面,包含了大量的示例代码,便于开发者快速上手。同时,社区资源丰富,有许多优秀的教程和示例项目可供参考...
对于初次使用者来说,这份文档是了解和上手YUI打包工具的重要参考资料。 yuicompressor-2.4.7.jar 和 yuicompressor-2.4.2.jar 是两个不同版本的YUI压缩器核心文件,分别代表了YUI压缩器的2.4.7版和2.4.2版。开发者...
YUI(Yahoo! User Interface Library)是雅虎公司推出的一款开源JavaScript库,旨在帮助开发者构建高性能、可扩展的Web应用程序。YUI3.6版本是该库的一个重要里程碑,提供了丰富的组件和工具,以支持现代Web开发的...
通过学习和实践这些示例,开发者可以深入了解YUI的功能和用法,提高自己的前端开发技能。 总结来说,YUI是一个强大的JavaScript库,它的强大功能和丰富的组件为开发者带来了极大的便利。通过研究YUI的源码和示例,...
混淆有助于防止恶意用户通过阅读源代码了解程序内部细节,同时也能降低源代码被抄袭的可能性。 使用YUI Compressor非常简单。首先,你需要下载yuicompressor-2.4.2这个压缩包,解压后,你可以找到yuicompressor.jar...
《深入解析YUI 2.6.0r2:JavaScript组件库的基石》 YUI,全称为Yahoo! User Interface Library,是雅虎公司推出的一个开源JavaScript库,旨在帮助开发者构建高质量、高性能的Web应用程序。YUI 2.6.0r2是该库的一个...
YUI Test is a complete testing framework for JavaScript and Web applications. You can use the simple JavaScript syntax to write unit tests that can be run in web browsers or on the command line, as ...
YUI 库,全称Yahoo! UI Library。是一组工具和控件,用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。 YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两...
通过查看提供的demo,开发者可以直观地了解如何在实际项目中应用YUI的Ajax功能,比如动态加载内容、无刷新更新页面等。 总之,YUI的Ajax框架为开发者提供了强大的工具,使他们能够轻松地构建动态、交互性强的Web...
**YUI-EXT使用详解** YUI-EXT是基于Yahoo! User Interface Library (YUI)的一个扩展库,专为构建富互联网应用程序(RIA)而设计。YUI-EXT提供了许多高级组件,如表格、菜单、窗口、表单、布局管理器等,极大地丰富...