频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> Ajax教程 -> Atlas客户端类库、控件介绍(1)

Atlas客户端类库、控件介绍(1)

作者:佚名  来源:不详  发布时间:2007-3-25 17:18:02  发布人:圈圈

减小字体 增大字体

“Atlas”系统是一个非常复杂的框架,具有类似于html" class="wordstyle">asp.net般的丰富组件来简化客户端的程序设计。

  要实现“Atlas”客户端控件,有两种方式,一种是Xml Script定义的方式,dflying书写的系列文章中,涉及到Atlas客户端控件大多数采用的就是上面的这种方式,形式如同:
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    <script type="text/xml-script">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        <page xmlns:script="http://schemas.microsoft.com/xml-script/2005" xmlns:samples="samples">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            <components>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                <button id="button1">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                    <behaviors>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                        <hoverBehavior>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                            <hover>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                <invokeMethod target="button1" method="addCssClass">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                    <parameters className="pseudo-button-hover" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                invokeMethod>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                            hover>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                            <unhover>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                <invokeMethod target="button1" method="removeCssClass">
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                    <parameters className="pseudo-button-hover" />
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                                invokeMethod>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                            unhover>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                        hoverBehavior>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                    behaviors>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">                button>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">            components>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">        page>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    script>
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">

  还有一种方式,那就是html" class="wordstyle">Javascript实现,如果书写普通js代码般实例化相应的Atlas客户端控件:


 1javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">function Init()
 2javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
 3javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    var titleTextBox = new Sys.UI.TextBox($("TitleTextBox"));
 4javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    titleTextBox.initialize();

 6javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    titleTextBox.set_text("AXii");
 7javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
 8javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    var itemEvent = new Type.Event(titleTextBox , true);
 9javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    itemEvent.add(PopupMessage);
10javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
11javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    titleTextBox.propertyChanged = itemEvent;
12javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
13javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    var itemBehavior = new Sys.UI.HoverBehavior();
14javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    itemBehavior.setOwner(titleTextBox);
15javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    itemBehavior.initialize();
16javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    
17javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    itemBehavior.hover.add(Alert);
18javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">}


  上面这段js的意思是:
  第3行:实例化一个Sys.UI.TextBox,传入的参数为一input HTML 控件,实现将Atlas控件与HTML控件的关联(绑定);
  第4行:初始化这个新的Atlas客户端控件;
  第6行:修改这个新Atlas TextBox控件的值,Atlas控件所关联(绑定)的HTML控件的相应值同步更新。

  到这一步,我们就利用html" class="wordstyle">JavaScript获得了第一个Atlas 客户端控值。

  第8-9行:创建Atlas客户端框架中的事件实例(您可以借鉴c#中的事件来理解),Type.Event类所传入的两个参数,第一个参数为发出事件的源控件(Atlas控件),第二个参数确定此事件是否自动执行。

  第11行:将将新事件指定给第3行创建的Atlas TextBox控件实例的propertyChanged,这样,在TextBox控件的属性(TextBox 控件的Text)发生改变时,就会执行相应的事件:

1javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">function PopupMessage(sender , eventArgs)
2javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">{
3javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">    alert(sender.get_text());
4javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">}

  注意:事件关联处理函数应该以上面的方式定义,包括sender 与 eventArgs参数,从参数命名上我们可以知道,sender指向的就是发起事件的源。

  第13-17行又是什么意思呢?
  刚才的TextBox在Text属性发生改变时,已经可以通过事件响应了,如果我们还希望在实现鼠标移入TextBox区域(类似HTML控件的onMouseOver),又该如何实现呢?第13-17行就是实现这个功能的。

  Atlas客户端控件包含HoverBehavior类,HoverBehavior类继承与Behavior(动作、行为?)类。Behavior类通过setOwner(ownerControl)方法绑定Behavior的所有者控件。

  同样,不要忘记初始化这个控件。

  这样,我们创建了一个Sys.UI.TextBox控件,并将此TextBox关联至id为“TitleTextBox”的input HTML控件,当TextBox的Text改变时,会有相应的事件激活;同时,这个TextBox控件还能响应鼠标进入动作。
(后续……)


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 结合XML, ADO, 以及ASP
· 论坛卡通头像6
· php数据库连接
· 建立动态的WML站点(二)
· SQL Server数据库技术(..
· ASP.NET 2.0中的登陆控件..
· PS与ImageReady打造动态..
· ProgressStatusBar源代码..
· 第八节:模板运用之借鉴..
· 将HTML表单数据存储为XM..
· MS IIS虚拟主机ASP源码泄..
· global.asa文件总是不起..
· 用 Photoshop 绘制的芭比..
· Fireworks宝典-功能了解..
· Flash MX 认证考试(样题..
· Flash游戏制作:贪食蛇(..
相关文章
· 用Atlas来实现一个基..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号