美文网首页
简易文本编辑器

简易文本编辑器

作者: HeTingyu | 来源:发表于2018-02-06 22:31 被阅读0次

API:

document.execCommand('bold', false, null);

h5新特性:

<div contenteditable="true"><div>

在标签中添加contenteditable属性后,当鼠标触发该标签时标签边框会变成高亮的蓝色,如果要取消这一样式,需要在css中添加如下代码:

div{
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: 0;
}

指令:editor
自定义高度属性:editor-height='200' 不允许添加单位PX

html部分:

<div editor></div>

js(angularJs自定义指令):

var module = angular.module('editor', []);
    var templateUrl = 'views/editor/template.html';
    module.directive('editor', function () {
        return {
            restrict: 'A',
            replace: true,
            templateUrl: templateUrl,
            scope:{
                editorHeight: '@editorHeight',
            },
            controller: ['$scope', function ($scope) {
                $scope.editorHeight = $scope.editorHeight ? $scope.editorHeight : '300';
                $scope.colors = ["red", "black", "yellow", "blue"];
                $scope.beBond = function () {
                    document.execCommand('bold', false, null);
                };
                $(function () {
                    $("body").click(function (e) {
                        if (e.target.id != 'fontColor' && e.target.id != 'colorButton' && e.target.className != 'chooseColor ng-scope') {
                            $('#fontColor').hide();
                        }
                        if (e.target.id == 'colorButton') {
                            console.log($('#fontColor').css('display'));
                            $('#fontColor').toggle();
                        }
                    });
                    $(document).on('click', '.chooseColor', function () {
                        document.execCommand('foreColor', false, $(this).css('background-color'));
                        $('#fontColor').toggle();
                    });
                })
            }]
        }
    });

html模板页:

<div>
    <div id="selectStyle">
        <input class="styleButton"  type="button" value="加粗" ng-click="beBond()">
        <div id="changeFontColor">
            <input class="styleButton" id="colorButton" type="button" value="字体颜色">
            <div id="fontColor">
                <input ng-repeat="item in colors" id="{{item}}" class="chooseColor" type="button" value="" ng-style="{'background':'{{item}}' ,'width':'20px','height':'20px','display':'inline-block','border-radius':'10px','margin':'5px','cursor':'pointer','border':'none'}">
            </div>
        </div>
    </div>
    <div id="contentBox" contenteditable="true"  ng-style="{'height':'{{editorHeight}}px' }">
    </div>
</div>

css样式:

/*选择按钮*/
​
#selectStyle {
    border: solid 1px #ccc;
    margin: 10px 0px;
    border-radius: 5px;
    background: #F1F1F1;
    box-shadow: 0px 0px 10px #ccc;
    width: 100%;
}
​
    #selectStyle .styleButton {
        background: #8BADE4;
        color: white;
        border: solid 1px #ccc;
        box-shadow: 0px 0px 5px #ccc;
        border-radius: 7px;
        margin: 5px;
        cursor: pointer;
    }
​
#changeFontColor {
    position: absolute;
    display: inline-block;
}
/*输入文本框*/
​
#contentBox {
    border: solid 1px #ccc;
    box-shadow: 0px 0px 10px #ccc;
    border-radius: 10px;
    cursor: text;
    padding: 10px;
    height: auto;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    outline: 0;
}
/*颜色选择弹框*/
​
#fontColor {
    position: relative;
    top: -3px;
    left: 5px;
    display: none;
    z-index: 100;
    border: solid 1px #ccc;
    border-radius: 5px;
    background: white;
    width: 130px;
    height: 35px;
    box-shadow: 0px 0px 5px #ccc;
}

相关文章

  • 简易文本编辑器

    API: h5新特性: 在标签中添加contenteditable属性后,当鼠标触发该标签时标签边框会变成高亮的蓝...

  • 简易文本编辑器

    Dim a$ '定义变量a Private Sub Command1_Cli...

  • Vim编辑器

    文本编辑器: 文本:纯文本,ASCII text 非丰富格式文本 文本编辑种类: 行编辑器:sed 全屏编辑器...

  • note_7.1_vim编辑器入门

    文本编辑器  文本:纯文本,ASCII text;Unicode 文本编辑种类 行编辑器:sed全屏编辑器:nan...

  • javascript富文本编辑器收集

    jquery轻量级文本编辑器Trumbowyg jQuery文本编辑器插件jWYSIWYG 其他12款文本编辑器

  • 前端知识 | 富文本编辑器 React-draft-wysiwy

    富文本编辑器: 富文本编辑器是一种可内嵌于浏览器的文本编辑器,富文本编辑器又不同于普通文本编辑器,程序员可到网上下...

  • VIM

    vim编辑器 vi: Visual Interface ,文本编辑器 文本:ASCII, Unicode 文本编辑...

  • 富文本(Rich-text)编辑器

    如何切换至「富文本编辑器」 简书的默认编辑器即为「富文本编辑器」,「富文本编辑器」有一条功能栏(tool...

  • 这是一篇测试文章

    测试富文本编辑器,测试 测试富文本编辑器 体验如何

  • 2.8 输入控件(二)

    2.8.3 QTextEdit 富文本编辑器 2.8.3.1 富文本编辑器 与普通的纯文本相比,富文本其实就是可以...

网友评论

      本文标题:简易文本编辑器

      本文链接:https://www.haomeiwen.com/subject/bvpnzxtx.html