2011-10-29 10 views
1

divにはcontexteditableが設定されており、特別なGoogleウェブフォントが設定されています。今、別のフォントを持つ別のソースからテキストを貼り付けると、そのdivの別のフォントに表示されます。テキストを貼り付けると、そのフォントをdivのデフォルトフォントに変更できますか?コンテキスト編集可能なdiv内の貼り付けテキストを「非表示」

jQueryが最適ですが、プラグインがあまり好きではありません。それは、ペーストに含まれているフォントファミリのスタイリングを取り除きhttp://jsfiddle.net/Kai/vkbuq/

答えて

0

はリンクを更新しました。もちろん、あなたはまた、明示的に何か他のものに変更しますが、それを完全に削除すると、あなたは、DOC/divの上でスタイルしているものは何でもフォントを継承することを強制できます。

バニラ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, ''); 
}); 
+0


は、このコードが挿入されたときに動作を停止するので、divのすべての要素を取り除くことはできません。 –

+0

変更された回答とフィドル;それが役に立つと願っています。 :) – Kai

+0

動作しません。同じ問題。 –

関連する問題