customPluginDemo.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  6. <title></title>
  7. <script type="text/javascript" charset="utf-8" src="../editor_config.js"></script>
  8. <!--使用版-->
  9. <!--<script type="text/javascript" charset="utf-8" src="../editor_all.js"></script>-->
  10. <!--开发版-->
  11. <script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
  12. <link rel="stylesheet" type="text/css" href="../themes/default/ueditor.css"/>
  13. </head>
  14. <body>
  15. <h1>UEditor自定义插件</h1>
  16. <!--style给定宽度可以影响编辑器的最终宽度-->
  17. <script type="text/plain" id="myEditor" style="width:1000px">
  18. <p><img src="http://ueditor.baidu.com/website/img/logo.png" alt=""></p>
  19. <p>插件描述:选中图片,在其上单击,会改变图片的边框!</p>
  20. </script>
  21. <script type="text/javascript">
  22. var editor_a = new baidu.editor.ui.Editor();
  23. editor_a.render( 'myEditor' );
  24. //创建一个在选中的图片单击时添加边框的插件,其实质就是在baidu.editor.plugins塞进一个闭包
  25. baidu.editor.plugins["addborder"] = function () {
  26. var me = editor_a; //在此处添加的插件由于没有经过render操作将editor实例传入,因此需要手动传入editor_a对象,如果按照官网教程来做,此处的editor_a使用this对象替换即可
  27. //创建一个改变图片边框的命令
  28. me.commands["addborder"] = {
  29. execCommand:function () {
  30. //获取当前选区
  31. var range = me.selection.getRange();
  32. //选区没闭合的情况下操作
  33. if ( !range.collapsed ) {
  34. //图片判断
  35. var img = range.getClosedNode();
  36. if ( img && img.tagName == "IMG" ) {
  37. if(img.style.borderWidth == "5px" ){
  38. img.style.borderWidth = "1px";
  39. }else{
  40. img.style.border = "5px solid red";
  41. }
  42. }
  43. }
  44. }
  45. };
  46. //注册一个触发命令的事件,同学们可以在任意地放绑定触发此命令的事件
  47. me.addListener( 'click', function () {
  48. me.execCommand( "addborder" );
  49. } );
  50. }();
  51. </script>
  52. </body>
  53. </html>