提问者:小点点

粘贴到可编辑的DOM元素时剥离标记


将内容粘贴到标题可编辑区域时,插件当前会剥离标签onblur。这将导致格式设置可见,直到焦点丢失(然后标记被剥离)。有关如何执行此操作,请参阅:https://github.com/avryl/wp-front-end-editor/blob/master/js/wp-front-end-editor.js#L118

我需要在粘贴时去掉标签,这样就不会显示复制的样式和格式。我想过使用粘贴事件来剥离粘贴上的标签,但我不确定如何实现它。

我试图用粘贴替换'blur',但没有成功。

希望有人能帮忙?


共1个答案

匿名用户

将此粘贴到第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行之后粘贴相同的块(不要忘记上一次粘贴可能会将其移低)。