我正在拦截粘贴事件并使用 textNodes 清除其中的任何 html。
它工作得很好,除了它会将所有空白减少到一个空格,并且完全忽略新行。例如,如果用户要粘贴
" Hello World
!”
然后它会粘贴为“hello world!”
如何保留空白和新行?任何 javascript、jquery 或 css 技巧都会很棒。这是我的代码:
iframe.contentWindow.focus()
var sel, range;
if (iframe.contentWindow.getSelection) {
sel = iframe.contentWindow.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();}
text = window.clipboardData.getData("Text");
frag = iframe.contentDocument.createTextNode(text);
range.insertNode(frag);
最佳答案
我遇到了同样的问题,并且能够根据上面评论中 nnnnnn 的建议解决它。
.range_class{
white-space: pre;
}
其中 .range_class
是要插入文本节点的元素的 css 类。
关于javascript - 如何保留文本节点中的空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28120585/