javascript - 粘贴到内容可编辑的 DOM 元素时去除标签

标签 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' 但这没有用。

希望有人能帮忙?

最佳答案

将此粘贴​​到 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/

相关文章:

javascript - 为什么在 Firefox 或 Chrome 中重新加载页面会导致浏览器调用服务器后触发卸载事件处理程序?

jquery - jQTouch 不再支持 Android?

javascript - 如何在选择下拉菜单时选中复选框

wordpress - 如何从 Wordpress RSS 提要中排除某些帖子?

php - 编辑数据库值后,值在实时站点上消失

javascript - 如何从 JavaScript 中的嵌套对象中过滤掉值

Javascript正则表达式 chop 斜杠之间的最后一个参数

javascript - 操作系统如何将事件与 dom 对象联系起来?

jquery - 我应该在 jQuery.ajax() 函数中使用 POST 或 DELETE 动词吗

wordpress - 我怎样才能使这个 WordPress 网站响应更快或更流畅?