可能重复:
jquery load issue
我正在使用jQuery load()函数将内容动态加载到div中。 在回调中,我正在调用SyntaxHighlighter.all(), to pretty打印刚刚加载到div中的pre块的语法。
问题是内容加载正常,但语法没有突出显示。 但是,当我对div中的pre块进行硬编码时,所以不通过jQUery load()函数加载到DOM中,语法得到了应该突出显示。
所以我猜测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:
<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>
亲切的问候
答案 0 :(得分:4)
解决方案:jquery load issue
答案 1 :(得分:0)