Backspace não exclui as tags html internas de uma div contentável no Firefox
-
19-09-2019 - |
Pergunta
Eu criei uma div com atributo contentedável = crianças verdadeiras e anexadas como "span" e "a" com atributos contentable = false. Queria testar se todo o nó fosse excluído com um único backspace e, para minha surpresa, o Firefox não conseguiu excluir os elementos. Além disso, isso funciona conforme o esperado em todos os principais navegadores de mesa, exceto o Firefox. Alguma pista sobre isso ou o que poderia ser a possível solução alternativa?
Encontrei a questão exata em Bugzilla aqui.
Solução
Ok! Encontrei a solução ... é bastante simples do que você pensaria. Na verdade, estou inserindo html para links, então usando <a>
aqui. o <a>
A tag tem atributo definido como contentedable = false e não está sendo excluído com um backspace. Então eu criei um interior <span>
Nível com contentedável = true para o Firefox e isso fez o truque.
<div contentEditable="true">
<a href="your/url/path" contentEditable="false">
<span contentEditable="true">link here</span>
</a>
</div>
Isso é necessário apenas no Firefox. Outros navegadores tratam isso conforme o esperado com o período com conteúdo contentável = false.