2013-04-13 10 views
9

Czy przycisk może wywoływać funkcję, która "upiększa" dynamiczny <code><pre>? Nie mogę zmusić go do działania.Dynamiczne google-code-prettify nie działa

Po załadowaniu strony początkowy <code> jest dopracowany (?), Ale po zmianie i wywołaniu funkcji prettyPrint() po tym czasie już nie działa.

Przykład: http://jsfiddle.net/uwBjD/2/

Edit: Przepraszam, byłem przy użyciu lokalnego prettify.js. Zaktualizowany, wciąż napotykał ten sam błąd.

+0

Czy patrzeć na konsoli? To całkiem wyraźnie mówi, że "prettyPrint nie jest zdefiniowany" dla mnie. Może to wynikać z faktu, że jeden ze skryptów, [prettify.js] (http://apps-02.rwmanila.com/Scripts/prettify.js), jest 404ing. – Xymostech

Odpowiedz

18

Podobno po tym, jak kod został upiększony, dodano dodatkową klasę, która jest prettyprinted. Wszystko, co ma klasę prettyprinted, nie jest ponownie dopracowywane. Trzeba usunąć tę klasę przed wywołaniu funkcji:

$('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/

+2

https://code.google.com/p/google-code-prettify/source/browse/trunk/js-modules/prettify.js#905 –

+3

Doskonale! Walczyłem z tym przez godzinę;) – MrUpsidown

+0

@ James, Google ma niedbały sposób radzenia sobie z rzeczami. – Pacerier

Powiązane problemy