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


Posted in Javascript onNovember 25, 2010

比较粗糙简略。感兴趣的同学可以看看。稍微贴下主要内容吧:
简略的前端架构心得&&基于editor为例子的编码小技巧
这是第一份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 class="wp"></div>'), 
bar = $CE('<div class="bar block"></div>'), 
con = $CE('<div class="con"></div>'), 
self = this; 
for (var i=0; i<c.length; i++) { 
var btn = $CE('<a class="controler">'+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部分内容:
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧

感兴趣的同学可以看看。
文件打包下载地址

Javascript 相关文章推荐
JS小功能(列表页面隔行变色)简单实现
Nov 28 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
Vue 单文件中的数据传递示例
Mar 21 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
Jun 09 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
Dec 22 Javascript
Vue可自定义tab组件用法实例
Oct 24 Javascript
JS实现水平移动与垂直移动动画
Dec 19 Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 Javascript
vue如何使用rem适配
Feb 06 Vue.js
javascript showModalDialog 内跳转页面的问题
Nov 25 #Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
Nov 25 #Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 #Javascript
jQuery学习基础知识小结
Nov 25 #Javascript
javascript预览上传图片发现的问题的解决方法
Nov 25 #Javascript
juqery 学习之三 选择器 子元素与表单
Nov 25 #Javascript
juqery 学习之三 选择器 可见性 元素属性
Nov 25 #Javascript
You might like
杏林同学录(一)
2006/10/09 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
php显示时间常用方法小结
2015/06/05 PHP
JS 遮照层实现代码
2010/03/31 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
js表单登陆验证示例
2016/10/19 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
python查询sqlite数据表的方法
2015/05/08 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
Python 字符串与数字输出方法
2018/07/16 Python
使用python爬取微博数据打造一颗“心”
2019/06/28 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
某公司的.net工程师面试题笔试题
2013/11/22 面试题
简述DNS进行域名解析的过程
2013/12/02 面试题
大二法学专业职业生涯规划范文
2014/02/12 职场文书
大学生村官个人总结
2015/02/15 职场文书
综合素质自我评价评语
2015/03/06 职场文书
大学军训口号大全
2015/12/24 职场文书
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers
Java 超详细讲解hashCode方法
2022/04/07 Java/Android