我的div
设置为contexteditable
,并设置了特殊的Google网络字体集。现在,当用户粘贴来自具有不同字体的其他来源的文本时,它会在我的div中以不同的字体显示,如何在粘贴文本时将字体更改为我的div的默认字体? / p>
jQuery会是最好的,但是,我不喜欢插件。
答案 0 :(得分:0)
更新了链接:http://jsfiddle.net/Kai/vkbuq/
它删除了粘贴中包含的字体系列样式。显然你也可以明确地将它改为其他东西,但是删除它会强制它继承你在doc / div上设置的任何字体:
Vanilla JS:
var div = document.getElementById('myDiv');
div.addEventListener('keyup', function () {
this.innerHTML = stripFont(this.innerHTML);
});
function stripFont (html) {
var re = /(font-family:\s?[\"\'A-Z0-9\s]+);/ig;
return html.replace(re, '');
}
jQuery的:
$('#myDiv').bind('keyup', function () {
var $this = $(this);
$this[0].innerHTML = $this[0].innerHTML.replace(/(font-family:\s?[\"\'A-Z0-9\s]+);/ig, '');
});