Использование Prettify для динамически генерируемого кода - PullRequest
1 голос
/ 04 апреля 2010

Я использую Prettify для подсветки синтаксиса, но он не работает с динамически генерируемым кодом.

У меня есть форма, которая при отправке генерирует код и отображает его (без обновления) в <div id="output></div>, но prettify не работает с этим кодом, есть ли обходной путь?

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

Есть хорошее решение на http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify.

Короче говоря:

  • прослушивание события: пользователь неактивен в течение X секунд (после нажатия клавиши)
  • запустить функцию Prettify prettyPrint()
  • (если пользователь начинает печатать раньше, чем через X секунд не запускается Prettify)

.

$(document).ready(function() {
  $('#mytextarea').keydown(function() {
    $(this).stopTime();
    $(this).oneTime(1000, function() { 
      /* launch the Prettify here */
    });
  });
});

код скопирован с http://www.codingthewheel.com/archives/syntax-highlighting-stackoverflow-google-prettify

1 голос
/ 12 апреля 2010

Убедитесь, что вы вызвали Prettify после загрузки нового кода.

Вам нужно будет добавить обработчик к событию «Отправить». Я не знаю, используете ли вы framework или raw JS, поэтому я не могу привести пример кода.

...