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

javascript如何粘贴";“作为纯文本”;在多个字段或元素中,javascript,jquery,html,Javascript,Jquery,Html,我尝试将文本粘贴到多个字段中,但格式仅在第一个元素上清除,而不是在第二个元素上清除,以此类推 我发现这个问题很好,但同样,在多个元素上它不起作用 所以我得到了这个HTML <div style="color:red">Some <em>rich</em> <span style="font-size:2em">HTML</span></div> <br /> <div style="border:1px s

我尝试将文本粘贴到多个字段中,但格式仅在第一个元素上清除,而不是在第二个元素上清除,以此类推

我发现这个问题很好,但同样,在多个元素上它不起作用

所以我得到了这个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>
我有这把小提琴

只需复制并粘贴
一些富HTML
-文本,然后看看会发生什么


有人能帮我吗?

文档。querySelector
生成一个元素。您希望使用
document.querySelectorAll
获取所有匹配的元素,然后迭代该集合

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

如果您习惯于jQuery,您可能会认为
document.querySelector()
实现了相同的功能;但是,它只返回与选择器匹配的第一个元素;相反,您应该使用
document.querySelectorAll()
,然后使用迭代添加事件处理程序

<>既然你把它标记为,你也可以考虑这个:

$(“div[contenteditable]”)。在(“粘贴”上,函数(e){
e、 预防默认值();
var text=e.originalEvent.clipboardData.getData(“text/plain”);
document.execCommand(“insertHTML”,false,text);
});
div[内容可编辑]{
高度:50px;
}

一些丰富的HTML



这是因为
文档。querySelector
只返回第一个匹配的元素。 您可以使用
document.querySelectorAll
instated


希望它能帮助你

欢迎来到stackoverflow。这篇文章可能会回答这个问题。但是多做一点解释可能会帮助其他程序员理解它是如何工作的。
var editors = document.querySelectorAll('div[contenteditable]');
for(var i = 0, l = editors.length; i < l; i++) {
   editors[i].addEventListener('paste', myCustomPasteFunction);
}