我的目标是在粘贴到内容可编辑的 DOM 元素时去除所有标签。我正在使用 WordPress Front-end Editor这是一个 featured plugin可能会进入 WordPress 核心。
将内容粘贴到标题可编辑区域时,插件当前会去除标签 onblur
。这导致格式可见,直到失去焦点(然后标签被剥离)。有关当前如何完成的信息,请参阅:
https://github.com/avryl/wp-front-end-editor/blob/master/js/wp-front-end-editor.js#L118
我需要在粘贴时删除标签,以便不显示复制的样式和格式。我考虑过使用 paste
事件在粘贴时剥离标签,但我不确定具体如何实现它。
我尝试将 'blur'
替换为 'paste'
但这没有用。
希望有人能帮忙?
最佳答案
将此粘贴到 117 行之后:
.on('paste', function (e) {
e.preventDefault();
var contentOnBlur = (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('Paste something..');
contentOnBlur = contentOnBlur.replace(/(<([^>]+)>)/ig,'');
document.execCommand('insertText', false, contentOnBlur);
})
在第 171 行之后粘贴相同的 block (不要忘记之前的粘贴可以将其移低)。
关于javascript - 粘贴到内容可编辑的 DOM 元素时去除标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21100580/