“样式”粘贴文本在contenteditable div中

时间:2011-10-29 04:27:02

标签: javascript jquery html html5

我的div设置为contexteditable,并设置了特殊的Google网络字体集。现在,当用户粘贴来自具有不同字体的其他来源的文本时,它会在我的div中以不同的字体显示,如何在粘贴文本时将字体更改为我的div的默认字体? / p>

jQuery会是最好的,但是,我不喜欢插件。

1 个答案:

答案 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, '');
});