可能重复:
jquery 加载问题
我正在使用 jQuery load() 函数将内容动态加载到 div 中。在回调中,我调用 SyntaxHighlighter.all(),以漂亮地打印刚刚加载到 div 中的 pre 块的语法。
问题是内容加载正常,但语法没有突出显示。但是,当我在 div 中对 pre 块进行硬编码时,不会通过 jQUery load() 函数将其加载到 DOM 中,语法 get 会按应有的方式突出显示。
所以我猜测 SyntaxHighlighter.all() 仅适用于 html 源代码中的 pre 块,可以使用视图页面源代码查看,而不是 DOM 中的实际内容?
知道如何使它工作吗?
用于加载和突出显示的 javascript:
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
$(document).ready(function() {
var tree = $("#tree li");
var contentContainer = $("#contentContainer");
var content = $("#content");
SyntaxHighlighter.config.clipboardSwf = 'syntaxhighlighter_2.0.320/scripts/clipboard.swf';
SyntaxHighlighter.all();
// Treeview
$("#tree").treeview({
persist: "location",
collapsed: true
});
tree.click(function() {
if ($(this).hasClass("file")) {
tree.removeClass("selected");
$(this).addClass("selected");
content.load("content/"+this.id+".html", function() {
contentContainer.effect("highlight");
SyntaxHighlighter.all();
});
}
});
});
</script>
内容分区:
<div id="content">
<pre class="brush: java;">
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
</pre>
</div>
使用 jQuery.load() 加载的外部文件:
Hello World
<pre class="brush: java;">
/**
* The HelloWorldApp class implements an application that
* simply prints "Hello World!" to standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
</pre>
亲切的问候