2013-04-13 38 views
9

一個按鈕可以調用一個函數來'美化'一個動態的<code><pre>?我無法讓它工作。動態谷歌代碼美化不起作用

加載頁面後,最初的<code>已經過美化(?),但是當我更改並調用prettyPrint()後,它不再有效。

實施例:http://jsfiddle.net/uwBjD/2/

編輯:對不起,我使用的是本地prettify.js。更新它,仍然遇到同樣的錯誤。

+0

你看看控制檯?它很明確地告訴你,'prettyPrint沒有爲我定義'。這可能與您的某個腳本[prettify.js](http://apps-02.rwmanila.com/Scripts/prettify.js)404的事實有關。 – Xymostech

回答

18

顯然在代碼被美化後,會添加一個額外的類,即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/

+2

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

+3

非常棒!我對此反抗了一個小時;) – MrUpsidown

+0

@詹姆斯,谷歌有一種處理事情的方式。 – Pacerier