2010-02-10 3 views
5

Я создал DIV с атрибутом contenteditable = true и добавленными дочерними элементами типа «span» и «a» с атрибутами contenteditable = false. Хотелось проверить, удаляется ли весь узел с одним backspace, и к моему удивлению Firefox не смог удалить элементы. Кроме того, это работает как ожидается во всех основных настольных браузерах, кроме Firefox. Какие-нибудь подсказки об этом или о том, что может быть возможным обходным путем?Backspace не удаляет внутренние html-теги контентного DIV в Firefox

Обнаружена точная проблема с bugzilla here.

ответ

4

Хорошо! нашел решение ... довольно простым, чем вы думаете. Я фактически вставляю html для ссылок, поэтому здесь можно использовать <a>. Тег <a> имеет атрибут, установленный для contenteditable = false и его не удаляется с помощью обратного пространства. Поэтому я создал внутренний уровень <span> с contenteditable = true для firefox, и это сделало трюк.

<div contentEditable="true"> 
    <a href="your/url/path" contentEditable="false"> 
    <span contentEditable="true">link here</span> 
    </a> 
</div> 

Это требуется только в Firefox. Другие браузеры рассматривают это, как и ожидалось, с диапазоном контента contenteditable = false.

+0

Он по-прежнему ведет себя как бы изворотливый, но лучше, чем ничего :) – Gezim