customPluginDemo.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  5. <title></title>
  6. <script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
  7. <script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
  8. </head>
  9. <body>
  10. <h1>UEditor自定义插件</h1>
  11. <!--style给定宽度可以影响编辑器的最终宽度-->
  12. <script type="text/plain" id="myEditor">
  13. <p><img src="http://ueditor.baidu.com/website/images/banner-dl.png" alt=""></p>
  14. <p>插件描述:选中图片,在其上单击,会改变图片的边框!</p>
  15. </script>
  16. <script type="text/javascript">
  17. //创建一个在选中的图片单击时添加边框的插件,其实质就是在baidu.editor.plugins塞进一个闭包
  18. UE.plugins["addborder"] = function () {
  19. var me = this;
  20. //创建一个改变图片边框的命令
  21. me.commands["addborder"] = {
  22. execCommand:function () {
  23. //获取当前选区
  24. var range = me.selection.getRange();
  25. //选区没闭合的情况下操作
  26. if ( !range.collapsed ) {
  27. //图片判断
  28. var img = range.getClosedNode();
  29. if ( img && img.tagName == "IMG" ) {
  30. //点击切换图片边框
  31. img.style.border = img.style.borderWidth == "5px"?"1px":"5px solid red";
  32. }
  33. }
  34. }
  35. };
  36. //注册一个触发命令的事件,同学们可以在任意地放绑定触发此命令的事件
  37. me.addListener( 'click', function () {
  38. setTimeout(function(){
  39. me.execCommand( "addborder" );
  40. })
  41. } );
  42. };
  43. var editor_a = UE.getEditor('myEditor' );
  44. </script>
  45. </body>
  46. </html>