2

これが私の状況です。強調表示するコンテンツを入力する事前タグがあります。ページの読み込み時に事前タグにコンテンツを入力すると、強調表示などすべてが機能します。ただし、ページの読み込み後に pre タグのコンテンツを更新し、コンテンツを再度強調表示しようとしても、何も起こりません。このトピックに関する他のスタックオーバーフローの回答からのすべての推奨事項を試しましたが、どれも機能しません。私はソースコードに注ぎ込み、それをデバッグしました (あまり進歩はありませんでした)。

Javascript:

var src = "\/*\n\tsome source\n\ttesting SyntaxHighlighter\n*\/\n\nfunction arrr()\n{\n\tvar ru = \"apirate?\";\n\treturn \"sure\";\n}\n\nvar calculatron = function(_a, _b)\n{\n\treturn (_a + _b);\n}\n\/\/ ...";
var $ = function (_id) { return document.getElementById(_id); }
function add_content()
{
    // re-adding the pre tags when updating content fixes a known issue.
    $('code').innerHTML = "<pre>" + src + "</pre>";

    <!-- does not work when updating content -->
    SyntaxHighlighter.highlight();
}

HTML:

<pre id="code" class="brush: js;"></pre>

<input type="submit" value=" submit " onclick="add_content()" />

<!-- works for onload -->
<script type="text/javascript">
SyntaxHighlighter.all();
</script>

何か案は?

4

1 に答える 1