注册
登录
会员
标签
统计
帮助
PHP开发者社群
»
※javascript/Ajax技术※
» Atlas客户端类库、控件介绍(1)
‹‹ 上一主题
|
下一主题 ››
发新话题
投票
商品
悬赏
活动
辩论
打印
Atlas客户端类库、控件介绍(1)
华人帮
高级会员
个人空间
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2007-5-23 20:03
只看该作者
Atlas客户端类库、控件介绍(1)
“Atlas”
系统
是一个非常复杂的
框架
,具有类似于asp.net般的丰富
组件
来简化客户端的程序设计。
要实现“Atlas”客户端控件,有两种方式,一种是
Xml
Script定义的方式,dflying书写的系列文章中,涉及到Atlas客户端控件大多数采用的就是上面的这种方式,形式如同:
<
script type
=
"
text/xml-script
"
>
<
page xmlns:script
=
"
http://schemas.microsoft.com/xml-script/2005
"
xmlns:samples
=
"
samples
"
>
<
components
>
<
button id
=
"
button1
"
>
<
behaviors
>
<
hoverBehavior
>
<
hover
>
<
invokeMethod target
=
"
button1
"
method
=
"
addCssClass
"
>
<
parameters className
=
"
pseudo-button-hover
"
/>
</
invokeMethod
>
</
hover
>
<
unhover
>
<
invokeMethod target
=
"
button1
"
method
=
"
removeCssClass
"
>
<
parameters className
=
"
pseudo-button-hover
"
/>
</
invokeMethod
>
</
unhover
>
</
hoverBehavior
>
</
behaviors
>
</
button
>
</
components
>
</
page
>
</
script
>
还有一种方式,那就是
Javascript
实现,如果书写普通js代码般
实例
化相应的Atlas客户端控件:
UID
62
帖子
61
精华
13
积分
613
注册
2007-5-23
阅读权限
50
查看详细资料
TOP
华人帮
高级会员
个人空间
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2007-5-23 20:04
只看该作者
1
function
Init()
2
{
3
var
titleTextBox
=
new
Sys.UI.TextBox($(
"
TitleTextBox
"
));
4
titleTextBox.initialize();
6
titleTextBox.set_text(
"
AXii
"
);
7
8
var
itemEvent
=
new
Type.Event(titleTextBox ,
true
);
9
itemEvent.add(PopupMessage);
10
11
titleTextBox.propertyChanged
=
itemEvent;
12
13
var
itemBehavior
=
new
Sys.UI.HoverBehavior();
14
itemBehavior.setOwner(titleTextBox);
15
itemBehavior.initialize();
16
17
itemBehavior.hover.add(Alert);
18
}
上面这段js的意思是:
第3行:实例化一个Sys.UI.TextBox,传入的参数为一input HTML 控件,实现将Atlas控件与HTML控件的关联(绑定);
第4行:初始化这个新的Atlas客户端控件;
第6行:修改这个新Atlas TextBox控件的值,Atlas控件所关联(绑定)的HTML控件的相应值同步更新。
到这一步,我们就利用JavaScript获得了第一个Atlas 客户端控值。
第8-9行:创建Atlas客户端框架中的事件实例(您可以借鉴c#中的事件来理解),Type.Event类所传入的两个参数,第一个参数为发出事件的源控件(Atlas控件),第二个参数确定此事件是否自动执行。
第11行:将将新事件指定给第3行创建的Atlas TextBox控件实例的propertyChanged,这样,在TextBox控件的属性(TextBox 控件的Text)发生改变时,就会执行相应的事件:
1
function
PopupMessage(sender , eventArgs)
2
{
3
alert(sender.get_text());
4
}
注意:事件关联处理函数应该以上面的方式定义,包括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控件还能响应鼠标进入动作。
(后续……)
UID
62
帖子
61
精华
13
积分
613
注册
2007-5-23
阅读权限
50
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
≡ PHP技术交流≡
Delphi For PHP专区
※PHP编程求助※
※数据库专区※
※ PHP开发框架※
※框架综合交流区※
※ThinkPHP开发框架※
※CakePHP开发框架※
※FleaPHP开发框架※
※Zend Framework※
※Symfony开发框架※
※javascript/Ajax技术※
※PHP GTK开发※
☞ PEAR 中文社群☜
※ZEND应用讨论※
※PHP应用加速交流※
※ PHP模板引擎※
※综合讨论区※
※Smarty 模板引擎※
※PHPLib Template模板引擎※
※SmartTemplate模板引擎※
FastTemplate 模板讨论区
※WEB标准化※
※版本控制技术※
PHP各种源码下载
开发工具下载
PHP相关资料下载
PHP源代码下载
PHP开发资源精华索引
[新]※精华下载※
Java相关
编程语言
.NET相关
系统管理
软件工程
网络通信
数据库相关
图形编程开发
考试认证
计算机理论
资源求助
≡ 综合交流区≡
※招聘求职※
架站讨论
业界新闻与评论
图书与评论
≡ 休闲生活≡
※娱乐乐园※
※广告发布※
≡ 站务管理 ≡
※站务交流※
控制面板首页
编辑个人资料
积分记录
公众用户组
好友列表
个人空间管理
升级个人空间
基本概况
论坛排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
Delphi For PHP完美破解UTF-8版下载
[荐]Delphi For PHP 在线教学视频
PHP开源项目大全开张,火热收藏
求知:麻辣堂十万个问题火热进行
[Discuz 6.0]不能登陆的解决办法
Norton防火墙用户访问本站注意事项
有做站和博客的兄弟们注意啦。。
热烈庆祝本站被DMOZ收录(10-09)
VCL for PHP 文档资源
D4P完全支持中文三部曲
快来获得本站“
大百科
”调用代码
推荐:
中国赢网(专业PHP空间)
《symfony 权威指南》翻译项目启动
FleaPHP和本站官方合作通告
2008年新版博墅上线,你开通了吗?
推荐:本站Linux用户组专区开通
推荐:PHP开发专家论坛,面向中高级PHP程序员的深度软件开发社群。
推荐:PHP专家博客社群,免费博墅送给你~