ES6 class继承的简单应用
class的好处就是让继承的实现更加简单,语法简单,理解起来也不复杂,但是现在只能做测试使用,项目中需要用Babel工具。
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<script src="jquery2.3.0.js"></script>
</head> <body>
<ul class="oUl">
<li>张三:</li>
<li>李四:</li>
<li>王二:</li>
</ul>
<ul class="oDiv">
<li id="1">
<h3>我要改剧本,不让~~</h3>
<div>
</div>
</li>
<li id="2">
<h3>悬崖上有桥么,有?没有~ </h3>
<div>
</div>
</li>
<li id="3">
<h3>你敢打坏我的灯?不租~ </h3>
<div>
</div>
</li>
</ul>
<script>
/*function ChangeToEidt(id,value,parentElement){
this.id = id;
this.value = value;
this.parentElement = parentElement;
};*/ class ChangeToEidt {
constructor(id, value, parentEle) {
this.id = id;
this.value = value;
this.parentEle = parentEle;
this.initElements();
this.initEvents()
} initElements() {
this.text = $("<span / >");
this.text.html(this.value)
this.edit = $("<input type='text' />");
this.btnDiv = $("<div style='display:inline-block' />");
this.saveBtn = $("<input type='button' value='保存' />");
this.cancelBtn = $("<input type='button' value='取消' />"); this.btnDiv.append(this.saveBtn).append(this.cancelBtn);
this.parentEle.append(this.text).append(this.edit).append(this.btnDiv);
this.convertToReadable();
}
initEvents() {
var that = this;
this.text.click(function() {
that.convertToEditable();
});
this.cancelBtn.click(function() {
that.cancel();
});
this.saveBtn.click(function() {
that.save();
});
} convertToEditable() {
this.text.hide();
this.edit.show();
this.btnDiv.show();
this.edit.focus();
if (this.value == this.getValue()) {
this.edit.val("")
}
} convertToReadable() {
this.text.show();
this.edit.hide();
this.btnDiv.hide();
} cancel() {
this.convertToReadable();
} save() {
this.setValue(this.edit.val());
this.text.html(this.getValue());
this.convertToReadable();
}
setValue() {
this.value = value;
} getValue() {
return this.value;
}
} class ChangeToAreaEidt extends ChangeToEidt {
constructor(id, value, parentEle) {
super(id, value, parentEle)
} initElements() {
this.text = $("<span / >");
this.text.html(this.value);
this.edit = $("<textarea style='width:315px;height:70px;' />");
this.btnDiv = $("<div style='display:inline-block' />");
this.saveBtn = $("<input type='button' value='保存' />");
this.cancelBtn = $("<input type='button' value='取消' />"); this.btnDiv.append(this.saveBtn).append(this.cancelBtn);
this.parentEle.append(this.text).append(this.edit).append(this.btnDiv);
this.convertToReadable();
}
} $(".oUl li").each(function() {
new ChangeToEidt($(this).attr("id"), "请输入成绩...", $(this));
}); $(".oDiv li div").each(function() {
new ChangeToAreaEidt($(this).attr("id"), "请留1言...", $(this));
});
</script>
</body> </html>
ES6 class继承的简单应用的更多相关文章
- ES5和ES6的继承对比
		ES5的继承实现,这里以最佳实践:寄生组合式继承方式来实现.(为什么是最佳实践,前面有随笔讲过了,可以参考) function Super(name) { this.name = name; } Su ... 
- ES5的继承和ES6的继承有什么区别?让Babel来告诉你
		如果以前问我ES5的继承和ES6的继承有什么区别,我一定会自信的说没有区别,不过是语法糖而已,充其量也就是写法有区别,但是现在我会假装思考一下,然后说虽然只是语法糖,但也是有点小区别的,那么具体有什么 ... 
- 对于js原型和原型链继承的简单理解(第三种,复制继承)
		复制继承:简单理解,就是把父对象上的所有属性复制到自身对象上: function Cat(){ this.climb = function(){ alert("我会爬树"); } ... 
- 详解ES5和ES6的继承
		ES5继承 构造函数.原型和实例的关系:每一个构造函数都有一个原型对象,每一个原型对象都有一个指向构造函数的指针,而每一个实例都包含一个指向原型对象的内部指针, 原型链实现继承 基本思想:利用原型让一 ... 
- 用仿ActionScript的语法来编写html5——第四篇,继承与简单的rpg
		第四篇,继承与简单的rpg 这次用继承自LSprite的类来实现简单的rpg的demo先看一下最后的代码与as的相似度 var backLayer; //地图 var mapimg; //人物 var ... 
- ES5和ES6的继承
		ES5继承 构造函数.原型和实例的关系:每一个构造函数都有一个原型对象,每一个原型对象都有一个指向构造函数的指针,而每一个实例都包含一个指向原型对象的内部指针, 原型链实现继承 基本思想:利用原型让一 ... 
- ES6 class继承
		ES6 class继承 class类的继承 class可以通过extends关键字实现继承,这笔ES5的通过修改原型连实现继承要清晰和方便很多. class Point{ } class ColorP ... 
- ES6 class 继承 与面向对象封装开发简单实例
		<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- ES5与ES6的继承
		JavaScript本身是一种神马语言: 提到继承,我们常常会联想到C#.java等面向对象的高级语言(当然还有C++),因为存在类的概念使得这些语言在实际的使用中抽象成为一个对象,即面向对象.Jav ... 
随机推荐
- 洛谷 P6136 【【模板】普通平衡树(数据加强版)】
			爱死替罪羊树了 这种暴力的数据结构爱死了.什么?!你还不知道替罪羊树?那就看看这篇博客这篇博客吧.替罪羊树就是当不平衡时,拍扁重建,然后就平衡了.想切这道题,要先把普通平衡树那道题做了(这篇博客讲了的 ... 
- 学习前端的时候,突然想起了Sharepoint母版页里的占位符,算知识的融会不?
			今天看到这个段话,我就想起来当时学习Sharepoint的时候,总是搞不明白我们老师讲的那个母版页里的占位符到底是干啥的.现在看到了类似的东西,让我想起来了之前一直搞不懂的东西,很感慨. (完) 
- python中lambda匿名函数与函数之间的关系
- vs2017+opencv3.4.0的配置方法
			1.尝试了这个博客的方法: https://blog.csdn.net/u014574279/article/details/50909425/ 结果: 无法打开文件“opencv_ml2410d.l ... 
- 《The Google File System》论文研读
			GFS 论文总结 说明:本文为论文 <The Google File System> 的个人总结,难免有理解不到位之处,欢迎交流与指正 . 论文地址:GFS Paper 阅读此论文的过程中 ... 
- steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息
			前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 不知不觉,一年一度如火如荼的steam夏日促销悄然开始了.每年通过大大小小 ... 
- Python Java 快速配置环境变量(Path)
			Python Java 快速配置环境变量(Path) 最近系统被重置,清空了C盘中的program等文件夹以及初始化了环境变量. 通常环境下,在windows环境中我们都会打开"环境变量&q ... 
- finally  关键字
			异常处理的时侯 出现的关键字finally 不论在 try 代码块中是否出现 发生了异常时间, catch语句是否执行,catch语句是否有异常,catch语句中是否return关键字 ,f ... 
- mysql numeric
			tinyint 1个字节 smallint 2个字节 mediumint 3个字节 int 4个字节 bigint 8个字节 
- vue中使用ts时如何导入mixins
			方法一 // mixins.ts import { Vue } from "vue-property-decorator"; export class TableSelect ex ... 
