簡體   English   中英

用js添加僅可粘貼的文本/純文本在可編輯的div鞭中

[英]Paste only text/plain in contenteditable div whitch was add with js

你好

我有一個密碼

html

<div style="color:red">Some <em>rich</em> <span style="font-size:2em">HTML</span></div>
<div class='myDiv' contenteditable></div>
<button class="commButtonS">OPEN</button>

的CSS

div[contenteditable] {
    height: 100px;
    border:1px solid black;
}

js

$(document).ready(function(){
    $(document).on('click', '.commButtonS', function(){
        $('.commButtonS').after("<div class='myDiv' contenteditable></div>");
    }); 
    document.querySelector(".myDiv").addEventListener("paste", function(e){
        e.preventDefault();
        var text = e.clipboardData.getData("text/plain");
        document.execCommand("insertHTML", false, text);
    });
});

http://jsfiddle.net/HBEzc/478/

它僅允許在contenteditable div中使用過去的文本/純文本。

但這與js添加的contenteditable div不兼容。

如何使代碼正常工作?

您將在頁面加載時選擇myDiv,因此該事件僅應用於第一個div。 您需要使用事件委托。 您的代碼如下所示:

$(document).ready(function(){
    $(document).on('click', '.commButtonS', function(){
        $('.commButtonS').after("<div class='myDiv' contenteditable></div>");
    }); 
    $(document).on("paste", ".myDiv", function(e){
        e.preventDefault();
        var text = e.originalEvent.clipboardData.getData("text/plain");
        document.execCommand("insertHTML", false, text);
    }); });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM