Content Editable で wysiwyg を構築しています。キャレットが太字テキスト内にある場合などに太字ボタンを強調表示したいのですが、それは機能していますが、H1とH2で同じことを行う方法がわかりません。これらの項目では CommandState が機能しないようです。
私のJSコード:
setInterval(function () {
var isBold = document.queryCommandState("Bold");
var isItalic = document.queryCommandState("Italic");
var isUnderlined = document.queryCommandState("Underline");
if (isBold) {
$('button[rel=Bold]').addClass('active');
} else {
$('button[rel=Bold]').removeClass('active');
}
if (isItalic) {
$('button[rel=Italic]').addClass('active');
} else {
$('button[rel=Italic]').removeClass('active');
}
if (isUnderlined) {
$('button[rel=Underline]').addClass('active');
} else {
$('button[rel=Underline]').removeClass('active');
}
}, 100);
簡略化されたテスト ケース: http://jsfiddle.net/kthornbloom/gL4xS/
キャレットがそれらの中にあるときに H1 & H2 ボタンを強調表示するにはどうすればよいですか?これをよりコンパクトに書く方法はありますか?