UE.registerUI('beijing', function (editor, uiName) {// 注册按钮执行时的command命令editor.registerCommand(uiName, {execCommand: function () {//获得选中文本内容//当你点击按钮时编辑区域已经失去了焦点,如果直接用getText将不会得到内容,所以要在选回来,然后取得内容var range = UE.getEditor('editor').selection.getRange();range.select();var txt = UE.getEditor('editor').selection.getText();//txt有【】时,去掉var _value1 = '【'; var _value2 = '】';txt = txt.replace(new RegExp(_value1), "");txt = txt.replace(new RegExp(_value2), "");//去除空格// txt = txt.replace(/(^[\s]+|[\s]+$)/g, "");txt = txt.replace(/\s/g, "");//获得整个文本框内容  getPlainTxt()带格式的// var txtquanbu = UE.getEditor('editor').getContentTxt();var txtquanbu = UE.getEditor('editor').getPlainTxt();txtquanbu = txtquanbu.replace(new RegExp(_value1), "");txtquanbu = txtquanbu.replace(new RegExp(_value2), "");var _value = "【】";var _valueSplit1 = _value.slice(0, 1);var _valueSplit2 = _value.slice(1, 2);var result = "";if (txt.indexOf("【") != -1) {return;} else {result = _valueSplit1 + txt + _valueSplit2;}//返回选中的位置var tt = txtquanbu.search(txt);//在选中的位置上进行替换var value = txtquanbu.replace(txt, result);var str = value.replace(/\n/g, "<br\/>");//写入必须是没有选中的内容和加上【】的内容editor.setContent(str);}});// 创建一个buttonvar btn = new UE.ui.Button({name: uiName,title:'加特殊符号',onclick: function () {editor.execCommand(uiName);}});// 当点到编辑内容上时,按钮要做的状态反射editor.addListener('selectionchange', function () {if (editor.queryCommandState('bold')) {btn.setChecked(true);} else {btn.setChecked(false);}});return btn;});

效果:

转载于:https://www.cnblogs.com/sunliyuan/p/8891670.html

编写UEditor插件相关推荐

  1. 使用Qt编写模块化插件式应用程序

    动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来.比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会 ...

  2. skywalking原理_Skywalking系列博客6手把手教你编写 Skywalking 插件

    点击上方 IT牧场 ,选择 置顶或者星标技术干货每日送达! 前置知识 在正式进入编写环节之前,建议先花一点时间了解下javaagent(这是JDK 5引入的一个玩意儿,最好了解下其工作原理):另外,S ...

  3. 编写OD插件将IDA中分析出来的函数名导入到OD中

    逆向程序的时候,喜欢用IDA静态分析,用OD动态调试,如果把IDA分析出来的函数名称都导入到OD中,调试的时候就知道哪些函数不需要再看了.以前我一直用GODUP的map loader,但是有些时候感觉 ...

  4. 使用Lua编写whireshark插件

    whireshark支持Lua.C.C++编写的插件 在这里,我简单介绍如何使用Lua编写whireshark插件. 一.插件的存放位置 whireshark插件分为个人插件和全局插件,在window ...

  5. 百度html在线编辑器插件,百度编辑器UEditor插件DjangoUeditor v1.8.143

    DjangoUeditor将Ueditor封装为一个Django app,提供文件/图片等上传功能,提供UEditorField.UEditorWidget等封装类,简化Ueditor在Django中 ...

  6. 自己编写jQuery插件之表单验证

    自己编写jQuery插件之表单验证 吐个嘈先:最近状态不咋滴,真是什么都不想干,不想上班,做什么都没动力,觉得没意思.不想这样,不想这样,快让这种情绪消失吧,忽忽.... 表单验证在项目中用的还是比较 ...

  7. 如何编写 Nagios 插件 (http://zener.blog.51cto.com/937811/727685)

    如何编写 Nagios 插件 Nagios 的最激动人心的方面是可以轻松地编写您自己的插件,只需要了解一些简单的指导原则即可.为了管理插件,Nagios 每次在查询一个服务的状态时,产生一个子进程,并 ...

  8. maven插件编写_编写Maven插件的提示

    maven插件编写 最近,我花了很多时间为Maven编写插件或在其中工作. 它们简单,有趣且有趣. 我以为我会分享一些技巧,使编写它们时的生活更轻松. 提示1:将任务与Mojo分开 最初,您将把moj ...

  9. 编写Maven插件的提示

    最近,我花了很多时间来编写或为Maven开发插件. 它们简单,有趣且有趣. 我以为我会分享一些技巧,使他们在编写时变得更轻松. 提示1:将任务与Mojo分开 最初,您将把mojo的所有代码放入mojo ...

最新文章

  1. 求过去9天的相同时刻的平均值的sql(MYSQL)语句(去掉最大值,最小值)
  2. 一个完整的Core Data应用
  3. ASP.NET Core 中间件之压缩、缓存
  4. linux系统让一个命令在后台运行,Linux——Linux后台运行命令详述
  5. Linux下git的使用——将已有项目放到github上
  6. oracle12密码大小写,oracle 11g 设置用户密码大小写敏感测试
  7. Truncated Signed Distance Function: Experiments on Voxel Size
  8. POI上传Excel的小问题处理
  9. loadRunner12压力测试工具使用流程
  10. 机器人动力学建模之理解惯性张量
  11. 【GPU加速】笔记本双显卡如何切换
  12. 智慧环卫全流程设计方案
  13. pytorch中实现Balanced Cross-Entropy
  14. 数据分析师,你是车夫,还是拉车的驴子
  15. Qt5 学习之路及嵌入式开发教程11:Qt5标准输入对话框类及QSlider控件
  16. 2022年3月PMP考试时间定了 ---「3月27日」
  17. linux下获取当前时间相关函数
  18. Django中间件介绍和使用
  19. 工控机上安装服务器级虚拟机vmware ESXi6.7
  20. 如何高效掌控K8s资源变化?K8s Informer实现机制浅析

热门文章

  1. cassandra hbase_为什么选择Cassandra
  2. logstash导入数据到Elasticsearch踩过的坑详解
  3. 使用SIFT特征提取和K-Means方法对图片进行分类
  4. ORACLE 11g 数据库 java jdk版本匹配
  5. python基础练习(九)
  6. sqlserver2000 php5.4,PHP添加Mssql/sqlserver2000扩展,适用于Php5.2/Php5.3/Php5.4
  7. 郑州网络推广教你如何“悄悄”做网站SEO,惊艳竞争对手?
  8. 怎样才能提高搜索引擎对网站的信任度?
  9. 网站优化之各个页面的关键词密度的把控
  10. java接口是类型吗_JAVA中,接口到底是不是类