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. [Jenkins]CentOS7下Jenkins搭建

    最近在倒腾Kubernetes的一些东西,这次需要用到Jenkins来实现自动化构建.来讲一讲搭建的整个过程. Jenkins是什么 Jenkins提供了软件开发的持续集成服务.它运行在Servlet ...

  2. vue生命周期学习(watch跟computed)

    1.watch钩子函数监听数据的变化 watch 的一个特点是,最初绑定的时候是不会执行的,要等到 firstName 改变时才执行监听计算. <div> <p>FullNam ...

  3. HDU 3333 Turing Tree 离线 线段树/树状数组 区间求和单点修改

    题意: 给一个数列,一些询问,问你$[l,r]$之间不同的数字之和 题解: 11年多校的题,现在属于"人尽皆知傻逼题" 核心思想在于: 对于一个询问$[x,R]$ 无论$x$是什么 ...

  4. vue 控制 input 的 disabled

    <input type="number" v-model="item.rvb07_1" :disabled="type == 'receiveN ...

  5. NO-CARRIER

    自己动手写了创建虚拟接口,删除虚拟接口程序,频繁调用创建删除时,有时将接口up起来时会报错: Name not unique on network 利用ip link命令来查看接口(及其对应的索引) ...

  6. POJ 3723

    最大生成树 #include<iostream> #include<cstdio> #include<cstring> #include<set> #i ...

  7. Windows中查看端口占用及关闭对应进程

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID,之后在任务管理器(右键电脑屏幕的状态栏即可找到)中找到这个PID所对应的程序.如果任务管理器中没有PID ...

  8. bootstrap DataTable绑定数据带服务器分页

    <!-- DataTables -->  这两个文件在我的文件夹里面<script src="~/bower_components/datatables.net/js/jq ...

  9. Android启动模式之singleinstance的坑

    前言 在实际应用中,使用singleinstance启动模式时,会遇到一些奇奇怪怪的问题.Android有四种启动模式,分别是standard,singleTop,singleTask,singleI ...

  10. jQuery传参

    <a href="#" onClick="click_scroll('here1');">滚动到here1</a><a href= ...