我的目标是将粘贴上的所有标记剥离为可信的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'
,但这不起作用。
希望有人可以提供帮助吗?
答案 0 :(得分:2)
在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行之后粘贴相同的块(不要忘记先前的粘贴可以将其向下移动)。