HTML WYSIWYG editing
От: c-smile Канада http://terrainformatica.com
Дата: 11.03.10 20:03
Оценка:
В раздумьях над следующей проблемой:

Скажем есть такой markup

<ul>
  <li>one|</li>
  <li>two</li>
</ul>


Где символом '|' обозначено положение каретки.
Теперь юзер жмет ENTER т.е. как бы "перевод строки".

Воможны (и требуется поддержать) два варианта изменений:

Первый (расширение LI блока путем создания параграфа внутри):
<ul>
  <li>one
      <p>|</p>
  </li>
  <li>two</li>
</ul>


Второй (создание нового LI блока):
<ul>
  <li>one</li>
  <li>|</li>
  <li>two</li>
</ul>


Варианты решения которые я рассматриваю:

1) Эти два действа сидят на разных key strokes, например: Ctrl+Enter и Enter. Not enough WYSIWYG я бы сказал...

2) Расширение набора caret positions:
Т.е.
|<ul>
  |<li>|o|n|e|</li>|
  |<li>|t|w|o|</li>|
</ul>|

В этом варианте появляется потребность в "нетрадиционыых" изображениях каретки.
Вот эти две позиции каретки:
  |<li>|one</li>

на самом деле находятся в одном месте canvas. Поэтому приходится рисовать "мигающий угол" в случае когда каретка находится перед началом блока. Перед началом первого символа вид каретки традиционный т.е. вопросов не вызывает.

Честно говоря я затрудняюсь в определении какой из вариантов лучше.
Т.е. либо стандартная каретка, но магические сочетания кнопок, либо такие вот "magic carets".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.