事件驱动的JScript面对对象编程(例)
来源:互联网 发布:英国人的生活方式知乎 编辑:程序博客网 时间:2024/06/05 10:47
程序的源代码如下:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<script language="jscript">
function EditableText(_owner){
this.owner = _owner;
this.edit = document.createElement("input");
this.edit.type = "text";
this.edit.onblur = this.onEditBlur;
this.edit.onclick = this.onEditClick;
this.edit.obj = this;
this.span = document.createElement("span");
this.span.innerText = "EditableText";
this.span.obj = this;
this.span.onclick = this.onSpanClick;
this.owner.appendChild(this.span);
}
function EditableText.prototype.onEditClick(){
event.cancelBubble = true;
}
function EditableText.prototype.onEditBlur(){
event.cancelBubble = true;
var self = this.obj;
self.span.innerHTML = "";
self.span.innerText = self.edit.value;
}
function EditableText.prototype.onSpanClick(){
event.cancelBubble = true;
var self = this.obj;
self.edit.value = this.innerText;
this.innerHTML = "";
this.appendChild(self.edit);
self.edit.focus();
}
////////////////////////////////////////////////////////////
function init(){
for(var i=0;i<20;i++){
new EditableText(document.body);
var br = document.createElement("br");
document.body.appendChild(br);
}
}
init();
</script>
</body>
</html>
注意程序后面的init函数。里面的new EditableText(document.body)只是建立了对象。但是我并无保存建立的对象的引用。而是让对象自己去管理自己。对象的行为都是由事件来驱动的(onclick和onblur),而无须别外的辅助代码。
- 事件驱动的JScript面对对象编程(例)
- 事件驱动的JScript面对象编程(例)
- 事件驱动的JScript面对象编程(例)
- 事件驱动的JScript面对象编程(例)
- 事件驱动的JScript面对象编程(例)
- 事件驱动的JScript面对象编程
- 事件驱动的JScript面对象编程
- 事件驱动的JScript面对象编程
- 事件驱动的JScript面对象编程 选择自 Mykxxx 的 Blog
- js的面对对象编程
- 面对对象编程的优势之一
- 面试笔记9(面对对象编程)
- 面对对象编程总结(一)
- 面对对象编程总结(二)
- 11. 面对对象编程
- 面对对象编程初步
- js面对对象编程
- 面对对象编程介绍
- QuickCHM 2.6“不支持此接口”错误的解决
- 转载
- java本地方法的实现
- main2.4
- Sales案例分析
- 事件驱动的JScript面对对象编程(例)
- 顶置窗口不被其它窗口遮盖
- 所谓的曾经, 就是幸福
- 整理我所知道的为兼容各个浏览器的技巧
- vector的capacity增长方式
- 我回来了
- prototype.js开发笔记
- 2006.02.05
- About RSS Reader