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);
}
}); // 创建一个button
var 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;
});

效果:

编写UEditor插件的更多相关文章

  1. 富文本编辑器——百度UEditor插件安装教程

    一.使用环境 Win7 Eclipse jettty9 chrome 二.下载百度UEditor插件 1.下载地址:http://ueditor.baidu.com/website/download. ...

  2. Qt 显示透明flash和编写QtWebkit插件

    Qt 有两种方法可以显示flash. 1. 通过QAxWidget 调用com形式显示flash, 需要本机安装IE flash插件 2. 直接通过qwebview显示flash, 需要下载webki ...

  3. 编写jQuery插件--实现返回顶部插件

    国庆过去一周多了,作为IT界的具有严重’工作狂‘性质的宅人,居然还没走出玩耍的心情,拖了程序猿的脚后跟了.最近工作不顺,心情不佳,想吐槽下公司,想了还是厚道点,以彼之道还施彼身,觉得自己也和他们同流合 ...

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

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

  5. ueditor插件 -- 插入填空题

    插入填空题,一个看似小小的需求,但是却是折腾了很9.主要产品那边的要求,空格上面要标有序号,并且再页面当中能够同步空格答案列表. 1.ueditor插件 插件入门,官方的例子还是很简单直接的,对于我们 ...

  6. springmvc集成Ueditor插件实现图片上传2、

    一.下载Ueditor插件. 地址:http://ueditor.baidu.com/website/download.html 二.环境搭建. 具体可以参看http://fex.baidu.com/ ...

  7. [翻译]如何编写GIMP插件(一)

    近期想尝试编写gimp插件,在gimp官网看到了三篇简明教程,顺便翻译了下,由于本人英文,计算机知识有限,文中难免有warning,error出现,欢迎指正. <How to write a G ...

  8. Lua编写wireshark插件初探——解析Websocket上的MQTT协议

    一.背景 最近在做物联网流量分析时发现, App在使用MQTT协议时往往通过SSL+WebSocket+MQTT这种方式与服务器通信,在使用SSL中间人截获数据后,Wireshark不能自动解析出MQ ...

  9. 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解

    前端html.CSS快速编写代码插件-Emmet使用方法技巧详解   Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...

随机推荐

  1. Python3-join()和split()

    Python join()方法 Python join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串. #例如:列表 -- 字符串 str.join(sequence) 参数: sequ ...

  2. python字典不区分大小写

    from multidict import CIMultiDict dic=CIMultiDict() dic["key"]="1234" print(dic[ ...

  3. 前端清除缓存方法(微信缓存引起的bug)

    bug1:在新版微信中,部门安卓机子(华为)出现window.location.href/window.location.reload....等方法来刷新本页面链接,发现页面没有被刷新,经过排查,发现 ...

  4. 理解OAuth 2.0(转)

      OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料 ...

  5. rman 示例

    背景 rman,听这名字,好像有点真的男人意思.这玩意其实也简单,只是老忘,作为一个oracle dba爱好者,怎么少了rman呢,这个好像是oracle体系的最后一环,把它掌握了,就完成oracle ...

  6. (转!)利用Keras实现图像分类与颜色分类

    2018-07-19 全部谷歌渣翻加略微修改 大家将就的看哈 建议大佬们还是看看原文 点击收获原文 其中用到的示例文件 multi-output-classification 大家可以点击 下载 . ...

  7. sonar——"entrySet()" should be iterated when both the key and value are needed

    When only the keys from a map are needed in a loop, iterating the keySet makes sense. But when both ...

  8. Sublime Text 3安装Package Control快速建立html5和xhtml文档

    Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...

  9. zookeeper的三种安装模式

    zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 1.单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper-3.4.9版本. ...

  10. Codeforces 1097G Vladislav and a Great Legend [树形DP,斯特林数]

    洛谷 Codeforces 这题真是妙的很. 通过看题解,终于知道了\(\sum_n f(n)^k​\)这种东西怎么算. update:经过思考,我对这题有了更深的理解,现将更新内容放在原题解下方. ...