• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > UEditor新增自定义按钮/UEditor增加自定义插件

UEditor新增自定义按钮/UEditor增加自定义插件

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了UEditor新增按钮,UEditor自定义按钮,UEditor插件,UEditor自定义插件等相关知识,希望对您有所帮助

UEditor编辑器感觉是很好用的一款web富文本编辑器,但是有些时候难免有一些小功能的编辑在其上无法实现,这个时候就需要为UEditor增加自定义按钮,并实现一些功能。也就是为UEditor增加自定义插件。

这里我们举例插入<code></code>标签。注意:并不是编辑器自带的那个插入代码片段功能,而是插入内联代码。就像你在本文看到的谈红色文字块那样的效果。

好啦,大家看教程吧~~


首先:在ueditor.config.js中找到toolbars的数组,并在数组中添加一个你需要新增的按钮功能名称,如下图所示(这里我们新增按钮名字为 setcode )


UEditor新增自定义按钮/UEditor增加自定义插件


然后,在 zh-cn.js 中找到 labelMap 并添加如下图所示,主要是用于鼠标放置上去显示的文字提示内容


UEditor新增自定义按钮/UEditor增加自定义插件


在ueditor.all.js中找到btnCmds数组的最后添加 setcode,如下图所示,大概在 27829 行左右:


UEditor新增自定义按钮/UEditor增加自定义插件


在ueditor.css中添加自己想要的样式,如下所示

.edui-default  .edui-for-setcode  .edui-icon {    /* 将你想要的图表(16*16)制作进 icons.png 中,当然你也可以自定义背景图片 */    background-position: -753px -77px;}


自定义按钮的功能代码,在ueditor.all.js中添加如下代码,大概在29564行后面添加即可,

UE.plugins['setcode']=function(){    var me=this,tagNames = ['code'];    UE.commands['setcode'] = {        execCommand:function (cmdName) {            //获取文本选择域            var range = me.selection.getRange();            console.log(range);            //过滤嵌套标签            var obj = domUtils.filterNodeList(me.selection.getStartElementPath(),tagNames);            //闭合时单独处理            if ( range.collapsed ) {                if ( obj ) {                    var tmpText =  me.document.createTextNode('');                    range.insertNode( tmpText ).removeInlineStyle( tagNames );                    range.setStartBefore(tmpText);                    domUtils.remove(tmpText);                } else {                    var tmpNode = range.document.createElement( tagNames[0] );                    range.insertNode( tmpNode ).setStart( tmpNode, 0 );                }                range.collapse( true );            } else {                //添加或删除指定的标签                obj ? range.removeInlineStyle( tagNames ) : range.applyInlineStyle( tagNames[0] );            }            //选择文本            range.select();            return true;        },        queryCommandState:function () {            //点击按钮后要处理的信息0代表当前按钮未点击1已点击-1告诉编辑器将当前按钮置灰            return domUtils.filterNodeList(me.selection.getStartElementPath(),tagNames) ? 1 : 0;        }    };};

这样,UEditor增加自定义按钮(插件)就实现了,清除浏览器缓存,刷新页面你就能看到效果了。


如果你使用的是ueditor.all.min.js,则在该文件最后面的 )}(); 前面加上以下代码:

,UE.plugins.setcode=function(){var a=this,b=["code"];UE.commands.setcode={execCommand:function(){var e,f,g,d=a.selection.getRange();return console.log(d),e=domUtils.filterNodeList(a.selection.getStartElementPath(),b),d.collapsed?(e?(f=a.document.createTextNode(""),d.insertNode(f).removeInlineStyle(b),d.setStartBefore(f),domUtils.remove(f)):(g=d.document.createElement(b[0]),d.insertNode(g).setStart(g,0)),d.collapse(!0)):e?d.removeInlineStyle(b):d.applyInlineStyle(b[0]),d.select(),!0},queryCommandState:function(){return domUtils.filterNodeList(a.selection.getStartElementPath(),b)?1:0}}}

以上就是UEditor新增自定义按钮/UEditor增加自定义插件的方法,你学会了吗?

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • UEditor新增自定义按钮/UEditor增加自定义插件

相关文章

  • 2022-04-29简单聊聊Redis中GETBIT和SETBIT
  • 2022-04-29如何增加外链,增加外链方法汇总
  • 2022-04-29怎么检查看到mysql的用户名和密码
  • 2022-04-29使用CorelDRAW绘制椭圆和圆形
  • 2022-04-29聊聊小程序怎么实现“全文收起”功能
  • 2022-04-29Photoshop制作一个漂亮的金色球体图标
  • 2022-04-29掌握PHP删除数组中的空值的小技巧
  • 2022-04-29DEDECMS修改提示信息方法
  • 2022-04-29微信小程序实现点赞业务
  • 2022-04-29wordpress的login.php打不开怎么办

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • inner join用法是什么
    • Photoshop技巧:CC版本的最全总结
    • 为网站选择一个适当的DMOZ目录
    • PHP如何使用mysqli_real_escape_string()函数?
    • jQuery url中文乱码怎么办
    • Photoshop鼠绘蓝色进度圈
    • Photoshop设计黑色大气的网页模板
    • WordPress国内网速慢加速及防DDOS攻击快速CF切换
    • Linux服务器快速卸载安装node环境(简单上手)
    • Photoshop制作银色质感的金属字教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有