Как определить, является ли элемент полужирным , ТОЛЬКО в пределах моего contenteditable div, а не когда пользователь щелкает где-либо еще на всей странице?
Вот мой JSFiddle с кодом.
Я пытаюсь запустить document.queryCommandState ("bold") , но только для моего contenteditable = "true" div.
Я некоторое время гуглил и ничего не могу найти. Я попытался заменить / добавить мой селектор div $ (". Text-editor") к слову document несколькими различными способами, что не работает. Я чувствую, что упускаю что-то очевидное. Спасибо!
HTML:
<div contenteditable="true" class="text-editor">Content <b>editable</b>. Type here...</div>
<div class="normal-div">Content <b>not</b> editable.</div>
Click on the bold (and not bold) text in the two boxes. Result:
<div class="is-bold">The text your cursor's on is BOLD.</div>
<div class="is-not-bold">The text your cursor's on is NOT BOLD.</div>
<br>^^ I want this green result to only change when you're clicking inside the editable box.
CSS:
.text-editor {
border: 2px solid red;
margin-bottom: 10px;
}
.normal-div {
border: 2px solid blue;
margin-bottom: 10px;
}
.is-bold {
display: none;
color: green;
}
.is-not-bold {
display: none;
color: green;
}
.active {
display: block;
}
jQuery:
setInterval(function () {
var isItBold = document.queryCommandState("bold");
if (isItBold == true) {
$(".is-bold").addClass("active");
$(".is-not-bold").removeClass("active");
}
else {
$(".is-bold").removeClass("active");
$(".is-not-bold").addClass("active");
}
}, 100)