Remove formatting from a contentEditable div

前端 未结 8 799
醉话见心
醉话见心 2020-12-25 11:40

I have a contentEditable Div and I want remove any formatting especially for copy and paste text.

8条回答
  •  攒了一身酷
    2020-12-25 12:07

    document.querySelector('div[contenteditable="true"]').addEventListener("paste", function(e) {
            e.preventDefault();
            var text = e.clipboardData.getData("text/plain");
            document.execCommand("insertHTML", false, text);
        });
    

    It is simple: add a listener to the "paste" event and reeformat clipboard contents.

    Here another example for all containers in the body:

    [].forEach.call(document.querySelectorAll('div[contenteditable="true"]'), function (el) {
        el.addEventListener('paste', function(e) {
            e.preventDefault();
            var text = e.clipboardData.getData("text/plain");
            document.execCommand("insertHTML", false, text);
        }, false);
    });
    

    Saludos.

提交回复
热议问题