javascript事件驱动框架 收藏
2010-04-24 11:59
309 查看
javascript事件驱动框架 收藏
一个简单的事件驱动框架的演示:
/*ControlDemo.js*/
//事件驱动框架(演示)
function ControlDemo(page)
{
//初始化Page
if (page == null)
{
page = self;
}
if (page != self)
{
//Do sth. here...
}
this.page = page;
//Properties
this.keyPressed = 0;
//Controlable Entities
//PageBody
this.body1 = page.document.getElementById("main");
page.PageLoadEventSender = this;
this.body1.onload = function(){this.PageLoadEventSender.PageLoad(this.PageLoadEventSender,page.event);}
//Button1
this.button1 = page.button1;
this.button1.value = "确定";
this.button1.ClickEventSender = this;
this.button1.onclick = function(){this.ClickEventSender.Button1_Click(this.ClickEventSender,page.event);}
//Button2
this.button2 = page.button2;
this.button2.value = "取消";
this.button2.ClickEventSender = this;
this.button2.onclick = function(){this.ClickEventSender.Button2_Click(this.ClickEventSender,page.event);}
//Textbox1
this.textbox1 = page.textbox1;
this.textbox1.style.width = "100%";
this.textbox1.rows = 10;
this.textbox1.KeyUpSender = this;
this.textbox1.onkeyup = function(){this.KeyUpSender.Textbox1_KeyUp(this.KeyUpSender,page.event);}
this.textbox1.MouseMoveSender = this;
this.textbox1.onmousemove = function(){this.MouseMoveSender.Textbox1_MouseMove(this.MouseMoveSender, page.event);}
//Labels
this.label1 = page.document.getElementById("label1");
this.label2 = page.document.getElementById("label2");
this.label3 = page.document.getElementById("label3");
//EventHandlers
this.PageLoad = function(sender,event)
{
this.page.defaultStatus = "事件驱动框架演示~~";
this.page.resizeTo(600,400);
}
this.Button1_Click = function(sender,event)
{
alert("Hello ^_^");
}
this.Button2_Click = function(sender,event)
{
if (page.opener == null)
{
page.opener = page;
}
page.close();
}
this.Textbox1_KeyUp = function(sender, event)
{
this.keyPressed++;
this.label1.innerText = this.keyPressed;
this.label2.innerText = this.textbox1.value.length;
this.label3.innerText = event.keyCode;
}
this.Textbox1_MouseMove = function(sender, event)
{
this.page.status = "鼠标位置:x="+event.x+" y="+event.y;
}
}
/*ControlDemo.html*/
<html>
<head>
<title>事件驱动框架演示</title>
</head>
<body id = "main">
<div align="center" id="div1">
<textarea name="textbox1" id="textbox1"></textarea><br/>
键盘点击次数为<span id="label1">0</span>次,共键入<span id="label2">0</span>个字符,最后输入的字符码为
<span id="label3">0</span>
<br/>
<input type="button" name="button1" id="button1"></input>
<input type="button" name="button2" id="button2"></input>
</div>
</body>
</html>
<script language="javascript" type="text/javascript" src="ControlDemo.js"></script>
<script language="javascript" type="text/javascript">
var demo = new ControlDemo();
</script>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanwl/archive/2004/11/16/183778.aspx
一个简单的事件驱动框架的演示:
/*ControlDemo.js*/
//事件驱动框架(演示)
function ControlDemo(page)
{
//初始化Page
if (page == null)
{
page = self;
}
if (page != self)
{
//Do sth. here...
}
this.page = page;
//Properties
this.keyPressed = 0;
//Controlable Entities
//PageBody
this.body1 = page.document.getElementById("main");
page.PageLoadEventSender = this;
this.body1.onload = function(){this.PageLoadEventSender.PageLoad(this.PageLoadEventSender,page.event);}
//Button1
this.button1 = page.button1;
this.button1.value = "确定";
this.button1.ClickEventSender = this;
this.button1.onclick = function(){this.ClickEventSender.Button1_Click(this.ClickEventSender,page.event);}
//Button2
this.button2 = page.button2;
this.button2.value = "取消";
this.button2.ClickEventSender = this;
this.button2.onclick = function(){this.ClickEventSender.Button2_Click(this.ClickEventSender,page.event);}
//Textbox1
this.textbox1 = page.textbox1;
this.textbox1.style.width = "100%";
this.textbox1.rows = 10;
this.textbox1.KeyUpSender = this;
this.textbox1.onkeyup = function(){this.KeyUpSender.Textbox1_KeyUp(this.KeyUpSender,page.event);}
this.textbox1.MouseMoveSender = this;
this.textbox1.onmousemove = function(){this.MouseMoveSender.Textbox1_MouseMove(this.MouseMoveSender, page.event);}
//Labels
this.label1 = page.document.getElementById("label1");
this.label2 = page.document.getElementById("label2");
this.label3 = page.document.getElementById("label3");
//EventHandlers
this.PageLoad = function(sender,event)
{
this.page.defaultStatus = "事件驱动框架演示~~";
this.page.resizeTo(600,400);
}
this.Button1_Click = function(sender,event)
{
alert("Hello ^_^");
}
this.Button2_Click = function(sender,event)
{
if (page.opener == null)
{
page.opener = page;
}
page.close();
}
this.Textbox1_KeyUp = function(sender, event)
{
this.keyPressed++;
this.label1.innerText = this.keyPressed;
this.label2.innerText = this.textbox1.value.length;
this.label3.innerText = event.keyCode;
}
this.Textbox1_MouseMove = function(sender, event)
{
this.page.status = "鼠标位置:x="+event.x+" y="+event.y;
}
}
/*ControlDemo.html*/
<html>
<head>
<title>事件驱动框架演示</title>
</head>
<body id = "main">
<div align="center" id="div1">
<textarea name="textbox1" id="textbox1"></textarea><br/>
键盘点击次数为<span id="label1">0</span>次,共键入<span id="label2">0</span>个字符,最后输入的字符码为
<span id="label3">0</span>
<br/>
<input type="button" name="button1" id="button1"></input>
<input type="button" name="button2" id="button2"></input>
</div>
</body>
</html>
<script language="javascript" type="text/javascript" src="ControlDemo.js"></script>
<script language="javascript" type="text/javascript">
var demo = new ControlDemo();
</script>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanwl/archive/2004/11/16/183778.aspx
相关文章推荐
- javascript事件驱动框架
- 使用Mule框架设计事件驱动和面向服务的平台
- JavaScript事件驱动机制&定时器机制
- JavaScript事件驱动机制&定时器机制
- javascript中0级DOM和2级DOM事件模型浅析 分类: C1_HTML/JS/JQUERY 2014-08-06 15:22 253人阅读 评论(0) 收藏
- javascript事件模型框架-eventutil.js
- 实例:触摸屏驱动-2.用input子系统报告事件 分类: linux_内核_input模型 2013-07-10 09:39 327人阅读 评论(0) 收藏
- 事件驱动的javascript
- Reactive框架:简化异步及事件驱动编程
- Reactive框架:简化异步及事件驱动编程
- Reactive框架:简化异步及事件驱动编程
- Reactive框架:简化异步及事件驱动编程
- Reactive框架:简化异步及事件驱动编程
- Reactive框架:简化异步及事件驱动编程
- 【Nginx】事件驱动框架和异步处理
- 浅谈javascript基础之客户端事件驱动
- 使用Mule框架设计事件驱动和面向服务的平台
- javascript事件驱动模型的不完全剖析
- javascript事件模型框架
- Echo2一个基于事件驱动的web框架(开源)