将标记粘贴到可信的DOM元素上

时间:2014-01-13 20:19:03

标签: javascript jquery wordpress

我的目标是将粘贴上的所有标记剥离为可信的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',但这不起作用。

希望有人可以提供帮助吗?

1 个答案:

答案 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行之后粘贴相同的块(不要忘记先前的粘贴可以将其向下移动)。