javascript如何在多个字段或元素中粘贴“作为纯文本”

ST8*_*T80 5 html javascript jquery

我尝试将文本粘贴到多个字段中,但格式只在第一个元素上被清除,而不是第二个等等。

我发现这个问题/sf/answers/841969551/工作正常,但同样,在多个元素上它不起作用。

所以我得到了这个 HTML

<div style="color:red">Some <em>rich</em> <span style="font-size:2em">HTML</span></div>
<br />
<div style="border:1px solid red" contenteditable></div>
<br />
<div style="border:1px solid red" contenteditable></div>
Run Code Online (Sandbox Code Playgroud)

和这个javascript:

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

我有这个小提琴http://jsfiddle.net/tdjuc8es/

只需复制并粘贴Some rich HTML- 文本,看看会发生什么

谁能帮帮我?

Dav*_*und 4

document.querySelector产生一个元素。您想要使用document.querySelectorAll来获取所有匹配的元素,然后迭代该集合。

var editors = document.querySelectorAll('div[contenteditable]');
for(var i = 0, l = editors.length; i < l; i++) {
   editors[i].addEventListener('paste', myCustomPasteFunction);
}
Run Code Online (Sandbox Code Playgroud)

小提琴