1. 程式人生 > >angular封裝富文字編輯器指令

angular封裝富文字編輯器指令

這個富文字編輯器的基本用法可以去該編輯器作者的github看下

html程式碼和css

原版:

這裡寫圖片描述

改版的:

這裡寫圖片描述

/*富文字編輯器*/
    #meditToolBar {
      position:fixed;
      z-index:100;
      width:100%;
      left: 0;
      bottom: 0;
      height:40px;
      background: #fff;
    }
    #medit {
      padding: 10px 0px 10px 10px;
      height:360px;
      position: absolute;
      top: 44
px; bottom: 40px; overflow: scroll; width: 100%; background: #fff; } .btn { padding: 6px 10px; background: #e5e5e5; border-radius: 3px; margin-top: 400px; text-align: center; } #autoSaveInfo{ padding: 10px 0; text-align:right; font-size:12
px; opacity: 0; } #res{ word-break:break-all; } .medit-tool-button{ background-color: #F24D56!important; border-right:1px solid #ccc!important; } #medit-tool{ background-color: #F24D56!important; } .app-container{ overflow: visible; } </style> <div
class="app-container with-navbar with-tabbar" ng-controller="TextInfoController"> <div class="navbar fixed-top"> <div class="navbar-left hide-weixin" ng-click="touchGoSupplier()"> <img class="button-icon" src="image/supplier/prev.png"/> <!-- <div class="button-text">返回</div> --> </div> <div class="navbar-title"> 圖文詳情 </div> <div class="navbar-right"> 完成 </div> </div> <div class="app-content" medit> <div id="meditToolBar"></div> <div id="medit" class="medit"></div> <div id="autoSaveInfo"></div> <div id="res"></div> </div> </div>

指令程式碼:

(function () {

    'use strict';

    angular
        .module('app')
        .directive('medit', ['$timeout', '$document', 'AddGoodsModel', '$state', function ($timeout, $document, AddGoodsModel,$state) {
            return {
                restrict: 'AE',
                scope: false,
                link: function ($scope, el, attr) {
                    // 配置富文字編輯器
                    medit.extend({
                      name: 'time',
                      icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAClklEQVRYR8WXjW0VQQyExxUAHUAFJBWQVACpgFABoQJCBZAKgAqSVECogKQCSAVABUZf8B73s393QXorPa2ebs87Httjn2nHy3Z8v1YBcPfHkp5JeiHpYfzw4Vf8LiR9NbMfvY51AXD3A0lvJbH3rCtJ78yMvbqqANwdL99LOh5ZuZGEp3PjgIOZp6OznHtlZjCUXUUA7r4n6aMkdtZnSactegP0B0kv473rAMG+WFkAcfmXiPEtnplZ1kDJs7DxKRiBgcOcjQWA8IDL8Ry6D0oURlKqxErYIlSEBQcAMQlHDgCooQ/P92rxc3eHATOrhZI8SiAuzOxozNrkxaDtWxzYb9HeAwBbM7uwMCTwHABZ+5yEM7Nx5mdD3QsgQCRmr8zsMBkcAES8fsaDJ61sD6PNEKSLIl++x/9HKbRjAHhM2d2YWSq9qoisYSAAk4gkJNoAI/+k2N2p3dehYKd1/fr7dAMA7KKoQ4jHDJAY6PyArgViAwCU8jz6xZ2s5wBMsrQGIgFAITPnqHc8Heo+egoac21m+/8TQAnnGzMjtClkeA0AOmaRgclLDQYoW4SmtI7H1eTu1RCkJDwzs5NW/Lc8d/dqEqYyHOKz5ZIGY9UyhMpVQrQGYFOIoq6TXC6axprLcmfdPdm+NDNy4W7NewEzX5LL7nJsgZs1o4nM59pxSkbql47YPWAWPCe0OMW+aHKlgWQ8RBxtBdEz3JRGMtDi+YMYtwHRnHDHDITqIbvY+h3DzYLN3kkG24gOIlUNSWQ7DSfNE4x1zJTZ93rGcsSDLpkWhgDDngZV2jcJTHazp3UWk/T6sXxGJ0YBkkbtVuJ3jfCLMmxZjaSiieDx/CuJHIERRq6ix/M7uj7NWsDu83znAP4A8SpJMGG4znIAAAAASUVORK5CYII=',
                      setting: [{
                        name: 'time',
                        icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAClklEQVRYR8WXjW0VQQyExxUAHUAFJBWQVACpgFABoQJCBZAKgAqSVECogKQCSAVABUZf8B73s393QXorPa2ebs87Httjn2nHy3Z8v1YBcPfHkp5JeiHpYfzw4Vf8LiR9NbMfvY51AXD3A0lvJbH3rCtJ78yMvbqqANwdL99LOh5ZuZGEp3PjgIOZp6OznHtlZjCUXUUA7r4n6aMkdtZnSactegP0B0kv473rAMG+WFkAcfmXiPEtnplZ1kDJs7DxKRiBgcOcjQWA8IDL8Ry6D0oURlKqxErYIlSEBQcAMQlHDgCooQ/P92rxc3eHATOrhZI8SiAuzOxozNrkxaDtWxzYb9HeAwBbM7uwMCTwHABZ+5yEM7Nx5mdD3QsgQCRmr8zsMBkcAES8fsaDJ61sD6PNEKSLIl++x/9HKbRjAHhM2d2YWSq9qoisYSAAk4gkJNoAI/+k2N2p3dehYKd1/fr7dAMA7KKoQ4jHDJAY6PyArgViAwCU8jz6xZ2s5wBMsrQGIgFAITPnqHc8Heo+egoac21m+/8TQAnnGzMjtClkeA0AOmaRgclLDQYoW4SmtI7H1eTu1RCkJDwzs5NW/Lc8d/dqEqYyHOKz5ZIGY9UyhMpVQrQGYFOIoq6TXC6axprLcmfdPdm+NDNy4W7NewEzX5LL7nJsgZs1o4nM59pxSkbql47YPWAWPCe0OMW+aHKlgWQ8RBxtBdEz3JRGMtDi+YMYtwHRnHDHDITqIbvY+h3DzYLN3kkG24gOIlUNSWQ7DSfNE4x1zJTZ93rGcsSDLpkWhgDDngZV2jcJTHazp3UWk/T6sXxGJ0YBkkbtVuJ3jfCLMmxZjaSiieDx/CuJHIERRq6ix/M7uj7NWsDu83znAP4A8SpJMGG4znIAAAAASUVORK5CYII='
                      }]
                    })
                    medit.nativeSetting(function(mode, modeName){
                        console.log(mode, modeName);
                    });
                    // 初始化富文字編輯器
                    var me = medit(document.getElementById("medit"), document.getElementById("meditToolBar"));
                    // 自動儲存
                    me.autoSave("edit", function(data, time){
                      el.find("#autoSaveInfo").html("Auto save at " + (new Date(time)).toString().replace(/\(.*\)/,""));
                    });
                    // 設定編輯器的高度
                    el.find("#medit").css({
                        height:$document.height() - 104 + 'px'
                    }).html(AddGoodsModel.goodsObj['textInfo']);
                    // 獲取內容
                    el.siblings().find('.navbar-right').bind('click', function() {
                        var res = me.getContent();
                        AddGoodsModel.goodsObj['textInfo'] = res;
                        $scope.toast("儲存成功");
                        console.log(AddGoodsModel.goodsObj['textInfo']);
                        $state.go("addgoods",{});
                    });
                    // 上傳圖片
                    me.image({
                      path: GLOBAL_CONFIG.API_HOST+'/v3/ecapi.addgoods.textinfo',
                      name: 'file',
                      size: 102400000,
                      ext: false,
                      timeout:5000,
                      success:function(res){
                        console.log(res);
                      },
                      error:function(msg){
                        console.log(msg);
                      }
                    });
                }
            };
        }]);

})();

相關推薦

angular封裝文字編輯指令

這個富文字編輯器的基本用法可以去該編輯器作者的github看下 html程式碼和css 原版: 改版的: /*富文字編輯器*/ #meditToolBar { position:fixed; z

Angular部署百度UMEditor文字編輯

     最近做的一個angular做前端的專案需要用到富文字編輯器,其實在網頁部署富文字編輯器不難,只要按照文件配置就可。但是,部署到angular就有點麻煩。網上關於如何在angular上部署富文字編輯器的教程很少而且講得很模糊,加上本人剛上手angular,這問題就讓

文字編輯Quill的簡單React封裝

最近要在React專案中實現富文字編輯器,我在基於不同外掛實現多種版本之後,體會到了Quill的強大,決定在專案中使用Quill實現富文字編輯器功能。 大多數富文字編輯器都有所見即所得的(指不能進行擴充套件)的問題,這意味著我們很難或者不可能對其進行自定義滿足一些特定的需求

Vue2 封裝的 Quill 文字編輯元件 Vue-Quill-Editor

1、安裝   npm install vue-quill-editor --save 2、使用 引入vue-quill-editor import { quillEditor } from 'vue-quill-editor' <!-- --><quil

summernote文字編輯實現圖片新增上傳和刪除圖片

summernote的基本使用 HTML程式碼 //div添加個id就可以 <div id="summernote" ></div> 然後JS操作 //例項化呼叫 var $summernote = $('#summernote').summernote(

百度文字編輯ueditor的使用、非空校驗、引用預定義模板

最近用到百度ueditor編輯器,遇到了很多問題,總結一下ueditor的使用、非空校驗、引用預先寫好的模板。 一、百度ueditor編輯器簡單使用: 1.在百度官網http://ueditor.baidu.com/website/download.html下載壓縮包,解壓之後整體拷

vue文字編輯Tinymce,功能齊全,對圖片等媒體資源操控性好,非常推薦!

使用步驟: 1.在index.html中引入js檔案: <body> <script src="./static/tinymce4.7.5/tinymce.min.js"></script> <div id="app"></div

bbs專案文字編輯實現上傳檔案到media目錄

media目錄是在project的settings中設定的,static目錄是django自己使用的靜態檔案的上傳目錄,media目錄是使用者自定義上傳檔案的目錄 # Django使用者上傳的檔案都放在media目錄下 MEDIA_URL = "/media/" MEDIA_ROOT = os.pat

bbs專案引入文字編輯和處理xss攻擊和文章預覽

一、富文字編輯上傳文章和圖片   富文字編輯器我們使用kindeditor,我們首先去官網下載,然後解壓,放到我們的static的目錄中     然後我們在html中這樣使用富文字編輯器 <!DOCTYPE html> <html lang

vue2.0 實現文字編輯功能

前端富文字編譯器使用總結: UEditor:百度前端的開源專案,功能強大,基於 jQuery,但已經沒有再維護,而且限定了後端程式碼,修改起來比較費勁 bootstrap-wysiwyg:微型,易用,小而美,只是 Bootstrap + jQuery... kindEditor:功能強大,程

wangEditor文字編輯使用及圖片上傳

<script type="text/javascript" src="style/js/wangEditor.min.js"></script> <div id="editor"> </div> 建立富文字編輯器 var E = wi

文字編輯KindEditor的使用

       富文字編輯器KindEditor,是一種可內嵌於瀏覽器,所見即所得的文字編輯器。它是一種解決可一般的使用者不同html等網頁標記但是需要在網頁上設定字型的顏色、大小、樣式等資訊問題一個文字編輯器 第一步 引入三個檔案(一個css,兩個js) &nbs

在網頁中使用文字編輯editor+vue

先下載一個富文字編輯器(官網地址) 在vue中新建一個editor.vue <template> <div> <script id="editor" type="text/plain"></script> </div

KingEditor文字編輯的使用

1、KingEditor相關js、css檔案資源位置: 連結:https://pan.baidu.com/s/123RDPWdb7Aim5854kQmelg 提取碼:p64n 2、使用步驟: a).在頁面引入相關資源 <link rel="stylesheet"

Python中mysql資料庫儲存文字編輯中的內容

使用python 模組MySQLdb自帶的針對mysql的字元轉義函式 escape_string """insert into csdn_test(message) VALUES("%s");""" % (pymysql.escape_string(item['content']))

vue整合百度UEditor文字編輯使用教程

在前端開發的專案中,難免會遇到需要在頁面上整合一個富文字編輯器。那麼,如果你有這個需求,希望可以幫助到你。 vue是前端開發者所追捧的框架,簡單易上手,但是基於vue的富文字編輯器大多數太過於精簡。於是我將百度富文字編輯器放到vue專案中使用。效果圖如下 前端精品教程:百度網盤下載 廢話不多說。

SpringBoot2 整合 JSP檢視模板 整合 Ueditor文字編輯

一般涉及到後臺管理系統,就少不了富文字編輯器,這個可以圖文視訊混排高階工具,筆者通過對比,發現目前市場上最好的三方庫還當屬百度的 ueditor 近年來 SpringBoot 框架可謂越來越火,可是筆者發現 ueditor 只提供了對於 JSP 的版本,網上能找到很多繼承的案列,但是大部分都是修改原始碼,或

文字編輯kindeditctor的使用

  1.下載 官網最新是2016年更新的  但,4.1.11沒有example  可以直接在國內的網站下載4.1.10 為什麼需要example,因為example提供了很多自學的例子   2.使用 放在web

vue專案中文字編輯vue-quill-editor的使用

前端開發過程中,會遇到在頁面上加入富文字編輯器,在vue專案中開發遇到這一需求的時候,我們可以使用富文字編輯器vue-quill-editor,話不多說,先上一張效果圖: 1)安裝 vue-quill-editor 依賴 npm install vue

web/easyui/ssm框架引用KindEditor文字編輯

web/easyui/ssm框架引用KindEditor富文字編輯器 KindEditor 是一套開源的線上HTML編輯器,主要用於讓使用者在網站上獲得所見即所得編輯效果,開發人員可以用 KindEditor 把傳統的多行文字輸入框(textarea)替換為視覺化的富文字輸入框。