Неявное сворачивание в TEXTAREA с помощью Javascript - PullRequest
4 голосов
/ 01 июля 2010

Я хотел бы иметь возможность создать тип свертывания в xhtml textarea с использованием Javascript / jQuery. Например, с учетом следующего текста:

ABC [123] DEF

Я бы хотел, чтобы [123] уменьшилось до [], когда курсор не находится над ним - то есть для курсора |:

ABC [] DEF|
AB|C [] DEF
ABC [|123] DEF
ABC [12|3] DEF

Я хочу, чтобы содержимое внутри фигурных скобок сохранялось, конечно же, когда элемент свернут (т.е. когда курсор выходит из фигурных скобок), и восстанавливается, когда он свернут (курсор входит в фигурные скобки).

Я был бы очень признателен за мысли по этому поводу.

Спасибо.

Brian

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Возможно, вы захотите взглянуть на некоторые текстовые редакторы, реализованные на JavaScript. Если вы посмотрите на свертывание как на встроенный стиль (css display: none;}, я уверен, что вы можете просто добавить правило к их подсветке синтаксиса, чтобы свертывание работало без особых усилий.

10 jQuery и не-jQuery RTE

Вы также можете взглянуть на беспинсовый проект Mozilla (http://mozillalabs.com/bespin/). Не можете опубликовать больше ссылок, немного новых для SO.

0 голосов
/ 28 августа 2010
$(function(){
  //Format on load
  $(".folding").html('[]');

  //Wire up load
  $(".folding").mouseover(function(){
    $(this).html('[' + $(this).attr("original") + ']');
  }).mouseout(function(){
    $(this).html('[]');
  });                   
});


<BODY>ABC <span class="folding" original='123'>[123]</span> DEF</BODY>

Это должно сработать для вас. Не самый красноречивый, но дает желаемый результат.

...