Bir var işareti düğmesini UI üzerinde, herhangi bir kullanıcı seçimi kırmızı işaretlenir, tıklatarak. Burada sorun yok. Bunu elde ederimdocument.execCommand("insertHTML")
Ancak, eski seçim işaretlerinin kesişimi olan yeni seçim oluşturulursa, eski seçimin kırmızı işaretinin kaybolması gerektiğini de ek bir gereksinimim var.
Örnek olarak:
Aşağıdaki resimde: bu ve test işaretlenmiştir. Ben seçmek Şimdi eğer onun tes baştan ve işaretini tıklayın, eski işaretler bu ve test uzağa gitmeli ve sadece onun tes bir kavşak olduğundan işaretlenmiş olmalıdır.
kod:
const button = document.getElementById("button");
button.addEventListener('click', ()=>{
const s = window.getSelection();
const selectionStr = s.toString();
document.execCommand("insertHTML", false, `<span class="bg-red">${selectionStr}<span>`);
})
.bg-red {
background: red;
}
<div contenteditable="true">
this is testing this is testing this is testing
</div>
<button id="button">mark</button>
