これが私の状況です。強調表示するコンテンツを入力する事前タグがあります。ページの読み込み時に事前タグにコンテンツを入力すると、強調表示などすべてが機能します。ただし、ページの読み込み後に 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>
何か案は?