Динамический google-code-prettify не работает

Возможно ли, чтобы кнопка вызывала функцию, которая «приукрашивала» динамический <code><pre>? Я не могу заставить его работать.

После загрузки страницы начальный <code> преттифицируется (?), но когда я меняю его и вызываю prettyPrint(), он больше не работает.

Пример: http://jsfiddle.net/uwBjD/2/

Изменить: извините, я использовал локальный prettify.js. Обновил его, все равно столкнулся с той же ошибкой.


person GaiusSensei    schedule 13.04.2013    source источник
comment
Ты консоль смотрел? Это довольно явно говорит вам, prettyPrint is not defined для меня. Это может быть связано с тем, что один из ваших скриптов prettify.js, это 404ing.   -  person Xymostech    schedule 13.04.2013


Ответы (1)


По-видимому, после претификации кода добавляется дополнительный класс prettyprinted. Все, что относится к классу prettyprinted, повторно не претифицируется. Вам нужно удалить этот класс, прежде чем вызывать функцию:

$('input[type=button]').click( function() {
    $("#jsExample").text("    var user = 'private'; //Do NOT store your API Key on a script.")
        .parent().removeClass("prettyprinted");

   prettyPrint();
});

http://jsfiddle.net/uwBjD/3/

person James Montagne    schedule 13.04.2013
comment
comment
Отлично! Я боролся с этим в течение часа;) - person MrUpsidown; 27.10.2014
comment
@James, у Google запоздалый способ решения проблем. - person Pacerier; 29.06.2015
comment
Здорово! Работал на меня! - person Diego; 19.11.2015