xhEditor实现插入代码功能
2015-12-27 21:08
281 查看
如果大家经常使用CSDN或者其他技术博客,都会有插入程序代码或脚本功能
开源中国
CSDN
这里介绍xhEditor实现插入代码功能,对xhEditor进行插件扩展
一、首先定义插件样式
[css] view
plaincopy
<style type="text/css">
/* 增加插入代码工具图标 */
.btnCode {
background: transparent url(img/code.png) no-repeat 0px 0px;
background-position: 3px -2px;
}
</style>
二、然后是定义插件,先确定插件的名称(这里取名为plugins),然后定义这个创建相关的参数(具体查看xheditor的api文档)代码大致如下:
定义插件的javascript代码
[javascript] view
plaincopy
<script type="text/javascript">
$(function(){
var plugins={
Code:{c:'btnCode',t:'插入代码',h:1,e:function(){
var _this=this;
var htmlCode="<div>编程语言<select id='xheCodeType'>";
htmlCode+="<option value='html'>HTML/XML</option>";
htmlCode+="<option value='js'>Javascript</option>";
htmlCode+="<option value='css'>CSS</option>";
htmlCode+="<option value='php'>PHP</option>";
htmlCode+="<option value='java'>Java</option>";
htmlCode+="<option value='py'>Python</option>";
htmlCode+="<option value='pl'>Perl</option>";
htmlCode+="<option value='rb'>Ruby</option>";
htmlCode+="<option value='cs'>C#</option>";
htmlCode+="<option value='c'>C++/C</option>";
htmlCode+="<option value='vb'>VB/ASP</option>";
htmlCode+="<option value=''>其它</option>";
htmlCode+="</select></div><div>";
htmlCode+="<textarea id='xheCodeValue' wrap='soft' spellcheck='false' style='width:300px;height:100px;' />";
htmlCode+="</div><div style='text-align:right;'><input type='button' id='xheSave' value='确定' /></div>";
var jCode=$(htmlCode)
e52d
,jType=$('#xheCodeType',jCode),jValue=$('#xheCodeValue',jCode),jSave=$('#xheSave',jCode);
jSave.click(function(){
_this.loadBookmark();
_this.pasteHTML('<pre class="brush: '+jType.val()+'">'+_this.domEncode(jValue.val())+'</pre> ');
_this.hidePanel();
return false;
});
_this.saveBookmark();
_this.showDialog(jCode);
}},
};
$('#content').xheditor({
plugins:plugins,//使用我们定义的插件
loadCSS:'<style>pre{margin-left:2em;border-left:3px solid #CCC;padding:0 1em;}</style>',
});
})
</script>
三、OK效果如下
和CSDN效果是一样一样的,因为CSDN用的就是xhEditor
项目演示源码下载:http://download.csdn.net/detail/itmyhome/7750927
转载自:http://blog.csdn.net/itmyhome1990/article/details/38495623
开源中国
CSDN
这里介绍xhEditor实现插入代码功能,对xhEditor进行插件扩展
一、首先定义插件样式
[css] view
plaincopy
<style type="text/css">
/* 增加插入代码工具图标 */
.btnCode {
background: transparent url(img/code.png) no-repeat 0px 0px;
background-position: 3px -2px;
}
</style>
二、然后是定义插件,先确定插件的名称(这里取名为plugins),然后定义这个创建相关的参数(具体查看xheditor的api文档)代码大致如下:
定义插件的javascript代码
[javascript] view
plaincopy
<script type="text/javascript">
$(function(){
var plugins={
Code:{c:'btnCode',t:'插入代码',h:1,e:function(){
var _this=this;
var htmlCode="<div>编程语言<select id='xheCodeType'>";
htmlCode+="<option value='html'>HTML/XML</option>";
htmlCode+="<option value='js'>Javascript</option>";
htmlCode+="<option value='css'>CSS</option>";
htmlCode+="<option value='php'>PHP</option>";
htmlCode+="<option value='java'>Java</option>";
htmlCode+="<option value='py'>Python</option>";
htmlCode+="<option value='pl'>Perl</option>";
htmlCode+="<option value='rb'>Ruby</option>";
htmlCode+="<option value='cs'>C#</option>";
htmlCode+="<option value='c'>C++/C</option>";
htmlCode+="<option value='vb'>VB/ASP</option>";
htmlCode+="<option value=''>其它</option>";
htmlCode+="</select></div><div>";
htmlCode+="<textarea id='xheCodeValue' wrap='soft' spellcheck='false' style='width:300px;height:100px;' />";
htmlCode+="</div><div style='text-align:right;'><input type='button' id='xheSave' value='确定' /></div>";
var jCode=$(htmlCode)
e52d
,jType=$('#xheCodeType',jCode),jValue=$('#xheCodeValue',jCode),jSave=$('#xheSave',jCode);
jSave.click(function(){
_this.loadBookmark();
_this.pasteHTML('<pre class="brush: '+jType.val()+'">'+_this.domEncode(jValue.val())+'</pre> ');
_this.hidePanel();
return false;
});
_this.saveBookmark();
_this.showDialog(jCode);
}},
};
$('#content').xheditor({
plugins:plugins,//使用我们定义的插件
loadCSS:'<style>pre{margin-left:2em;border-left:3px solid #CCC;padding:0 1em;}</style>',
});
})
</script>
三、OK效果如下
和CSDN效果是一样一样的,因为CSDN用的就是xhEditor
项目演示源码下载:http://download.csdn.net/detail/itmyhome/7750927
转载自:http://blog.csdn.net/itmyhome1990/article/details/38495623
相关文章推荐
- Python 基础学习(一)
- C++ 深拷贝与浅拷贝
- C语言三个数字比较大小
- python如何处理解析word文档doc docx , python-docx,python-docx2txt,zipfile
- Elasticsearch in java范例:索引文本数据、搜索文本数据入门
- 【C语言】联合与枚举类型
- java.io.IOException:open failed:EACCES(Permission denied)
- JAVA的运行
- 编程苦手 Pixhawk 受难录 二: CMake 教程翻译(1-3)
- Java编译概览
- 【NVIDIA Jetson TK1】三,TK1开发板运行opencv光流程序,光流代码
- python numpy教程
- 【跟我学spring 4.0 】之第四节-自动装配
- 使用XFire+Spring构建Web Service(一)——helloWorld篇
- 随机数是骗人的,.Net、Java、C为我作证
- Java线程:线程交互
- C#入门之简单计算器的实现。
- PHP学习练手(八)
- Java中如何判断两个String是否相等
- 《c#之全局观》