среда, 30 сентября 2009 г.

Подсветка SyntaxHighlighter при динамическом добавлении html

Сегодня меня заморочила очень простая идея, как с помощью SyntaxHighlighter подсветить html код который был добавлен динамически. Такие ситуации возможны, когда, например, вы асинхронно добавляете какое то содержимое на страницу, или просто реализуете некое добавления html после каких то действий. Как внедрить подсветку SyntaxHighlighter я уже описывал в посте Прокачка блога Blogger.

Для запуска механизма подсветки кода в инициализации страницы нужно прописать:

SyntaxHighlighter.all();

Но вызывая данную функцию после добавлении динамически html результата я не получил.

Решил заглянуть в исходники, рабочую версию без оптимизаций нашел на bitbucket.org, так что появилась возможность разобраться с внутренним устройством.

Как оказалось что функция all вызывает функцию highlight и это действительно было то, что "доктор прописал". После динамического добавления html необходимо добавить строчку:
SyntaxHighlighter.highlight();

Пример:



Контейнер для добавления HTML.

3 комментария:

  1. Спасибо, ты спас мне много нервов.

    ОтветитьУдалить
  2. спасибо огромное, то что нужно

    ОтветитьУдалить
  3. Спасибо огромное, то что нужно

    ОтветитьУдалить