体的实现过程——富文本编辑器实现

  直到今天才来,初略的了解了下,当然呢文本编辑器 js,至于过程也是前一秒痛苦,后三秒轻松加容易的。这个富文本编辑器,主要是用p自带的contenteditable属性document.execCommand()方法实现的,为了方便布局,偷了下小懒,直接拿table布局了,唉,作为一名那些年的前端开发人员富文本编辑器 js,还真是不不知道该说些啥了。

  下面展示实现的效果:

  creo表格怎么编辑不了文本_asp加密文本js解密_富文本编辑器 js

  体的实现过程:

  富文本编辑器 js_creo表格怎么编辑不了文本_asp加密文本js解密

  (1)HTML结构:

  富文本编辑器 js_creo表格怎么编辑不了文本_asp加密文本js解密

  <pre class="brush:php;toolbar:false;">


    
        
    
    
        
    
    
        
    
    size
        
            1
            3
            5
            6
            7
        
    
    img
        
            请选择图片
            timg.jpg
            timg1.jpg
            timg2.jpg
            timg3.jpg
            timg4.jpg
        
    
    
        
    
    
        
    
    
        
    
    
        
    
    
        
    


    
        <p class="text" contenteditable="true">这是一个用p的contenteditable属性以及document.execCommand实现的一个简易富文本编辑器。

    

</pre></p>

  登录复制

  (2)JS实现逻辑:

  <pre class="brush:php;toolbar:false;">(function() {

//富文本编辑器类
class Editor {
    constructor() {
        this.bindElem();
    }
    bindElem() {
        var text = document.querySelector(&#39;.text&#39;);
        var txt = null;
        var tablebox = document.getElementById_x(&#39;tablebox&#39;);
        var inputbs = tablebox.querySelectorAll(&#39;input,select&#39;);
        for (var i = 0; i {
                if (inputbs[i].tagName.toLowerCase() == &#39;input&#39;) {
                    this.action(inputbs[i], inputbs[i].name);
                } else if (inputbs[i].tagName.toLowerCase() == &#39;select&#39;) {
                    inputbs[i].onchange = function() {
                        document.execCommand(this.name, true, this.value);
                    }
                }
            }
        }
        action(obj, attr) {
            obj.onclick = function() {
                document.execCommand(attr, true);
            }
        }
    }
new Editor();
;</pre>

  登录后复制

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1415
0 评论
728

发表评论

!