我正在構建一個內容可編輯的wysiwyg。我希望粗體按鈕突出顯示插入符號是否在粗體文本等內。我有這個工作,但我不知道如何執行相同的H1 & H2。 CommandState似乎不適用於這些項目。如何判斷脫字號是否在H1標籤內?
我的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按鈕,當插入符號是在其中,是有寫這個的更緊湊的方式?
我很想用這個方法。兩件事情:如果兩個按鈕應同時突出顯示(粗體和斜體)會怎樣?此外,這將工作的其他元素,如有序列表?更新的小提琴:http://jsfiddle.net/kthornbloom/gL4xS/3/ – kthornbloom
你可以循環通過dom,並得到插入符的所有父母,並根據需要突出顯示。活動目標是插入符的直接父母。我會更新答案來展示一個例子。 –
我更新了我的答案,是的,這將適用於'div'中的任何元素。 –