如何在jQuery中保持粘贴时的文本格式

How to keep the text formatting on pasting in jQuery?

本文关键字:文本 格式 jQuery      更新时间:2023-09-26

我想在粘贴文本之前对其进行编辑。

我当前的代码是:

element.on('paste', function (event) {
    event.preventDefault();
    var clipboardData = (event.originalEvent || event).clipboardData;
    var text = clipboardData.getData('text/html') || clipboardData.getData('text/plain') ||
    //document.execCommand('insertHTML', false, text);  <--     
});

我先用了这个,但它有时会失败,并破坏文本格式我想保留它。

我认为使用execCommand之外的另一个函数可以修复这个错误,因为我读到更多的人在使用这个函数时遇到了问题,而且它对的支持非常有限

element.on('paste', function (event) {
  event.preventDefault();
  var clipboardData = (event.originalEvent || event).clipboardData;
  var text = clipboardData.getData('text/html') || clipboardData.getData('text/plain') ||
  document.execCommand('insertHTML', false, '<pre>' + text + '</pre>');
});