简略的前端架构心得&&基于editor为例子的编码小技巧
简略的前端架构心得&&基于editor为例子的编码小技巧
发布时间:2016-12-30 来源:查字典编辑
摘要:比较粗糙简略。感兴趣的同学可以看看。稍微贴下主要内容吧:这是第一份ppt主要的内容。具体东西我就不多贴了,对这几个方面感兴趣的同学可以下载来...

比较粗糙简略。感兴趣的同学可以看看。稍微贴下主要内容吧:

简略的前端架构心得&&基于editor为例子的编码小技巧1

这是第一份ppt主要的内容。具体东西我就不多贴了,对这几个方面感兴趣的同学可以下载来看看,既然是基于editor为例子的ppt,这里我也附上一个简单的利用execCommand命令做的简易的demo,editor的原理在demo里都能看出来。这里附上代码:

<!doctype html>

复制代码 代码如下:

<html>

<head>

<style type="text/css">

.wp {

width: 500px;

}

.bar {

margin-bottom: 8px;

}

.con {

border: 2px solid #ccc;

}

.block {

overflow: hidden;

height: 1%;

}

.controler {

float: left;

margin-right: 6px;

border: 1px solid #999;

height: 20px;

width: 20px;

text-align: center;

font-size: 14px;

font-weight: bold;

}

</style>

</head>

<body>

<script type="text/javascript">

var Class = {

create : function () {

return function () {

this.init.apply(this, arguments);

}

}

},

H$ = function(i) {return document.getElementById(i)},

$CE = function() {

var div = document.createElement('div');

return function(html) {

div.innerHTML = html;

var el = div.childNodes[0];

div.removeChild(el);

return el;

}

} ();

var Editor = Class.create();

Editor.prototype = {

init : function(id) {

var c = [];

c[0] = ['bold', 'B'];

c[1] = ['italic', 'I'];

this.t = H$(id);

this.t.style['display'] = 'none';

this.i = $CE('<iframe frameBorder="0" width="500" height="200"></iframe>');

var wp = $CE('<div></div>'),

bar = $CE('<div></div>'),

con = $CE('<div></div>'),

self = this;

for (var i=0; i<c.length; i++) {

var btn = $CE('<a>'+c[i][1]+'</a>');

bar.appendChild(btn);

btn.onclick = (function(i){

return function () {

self.action(c[i][0]);

}

})(i);

if (!+"v1") {btn.unselectable = 'on'} // IE下一定要设置unselectable = 'on'

}

this.t.parentNode.insertBefore(wp, this.t);

con.appendChild(this.t);

con.appendChild(this.i);

wp.appendChild(bar);

wp.appendChild(con);

this.e = this.i.contentWindow.document || this.i.contentDocument;

this.e.designMode = 'on';

this.e.open();

this.e.close();

},

action : function (cmd, val) {

this.e.execCommand(cmd, 0, val || null);

}

}

</script>

<textarea id="test"></textarea>

<script type="text/javascript">

new Editor('test');

</script>

</body>

</html>

大家可以自行考到本地去演示,很简单的一个例子,提供一个思路而已。

下面提供第一个ppt的下载: 【点击这里下载《关于js的一些小技巧》】

【阿里中国站前端架构史--略谈】

以下为ppt部分内容:

简略的前端架构心得&&基于editor为例子的编码小技巧2简略的前端架构心得&&基于editor为例子的编码小技巧3

感兴趣的同学可以看看。

文件打包下载地址

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类