Javascript summernote没有';不允许在写入onpaste事件后格式化粘贴的文本
我的问题是,当我在summernote中粘贴数据时,它会清除格式设置,但如果我想按自己的意愿格式化粘贴的文本,它不允许我对粘贴的文本或在编辑器中编写的文本进行更改。 我使用此代码将onpaste事件绑定到summernote 我使用的是summernote.js版本0.5.8Javascript summernote没有';不允许在写入onpaste事件后格式化粘贴的文本,javascript,summernote,Javascript,Summernote,我的问题是,当我在summernote中粘贴数据时,它会清除格式设置,但如果我想按自己的意愿格式化粘贴的文本,它不允许我对粘贴的文本或在编辑器中编写的文本进行更改。 我使用此代码将onpaste事件绑定到summernote 我使用的是summernote.js版本0.5.8 $(".summernote").summernote({ onpaste: function (e) { debugger; var buf
$(".summernote").summernote({
onpaste: function (e) {
debugger;
var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
e.preventDefault();
setTimeout(function () {
document.execCommand('insertHTML', false, bufferText);
}, 10);
}
})
找到了问题的解决方案。我必须销毁Summernote的对象并重新初始化它。我不确定这是否是一种正确的编码方式,但它对我很有效。 我在布局页面上这样做是因为我在项目中使用了Summernote
$(".summernote").summernote({ height: 250 });
$(".summernote").summernote({
onpaste: function (e) {
var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
e.preventDefault();
setTimeout(function () {
document.execCommand('insertText', false, bufferText);
$(this).parent().siblings('.summernote').destroy();
}, 10);
}
});
在html文件中使用“粘贴”属性
在控制器中使用removeFormatting函数
$scope.removeFormatting = function(e)
{
var bufferText = ((e.originalEvent || e).clipboardData || window.clipboardData).getData('Text');
e.preventDefault();
// Firefox fix
setTimeout(function () {
document.execCommand('insertText', false, bufferText);
}, 10);
}