【发布时间】:2014-01-10 02:12:03
【问题描述】:
当下拉框被选中时,我正在尝试对生成的字符串应用美化语法突出显示。如果文本是预先放置的,它可以正常工作,但如果它是生成的,则文本不会突出显示。我试过调用 prettyPrint() 函数,但还是不行。
$('#db').change(
function(){
query = "";
query = "<pre class=\"prettyprint\" id=\"query\">Insert Into ";
query = query + $('#db').val() + "</pre>";
document.getElementById("pp").innerHTML = query;
prettyPrint();
$.ajax({
url: "functions.php?&f=table",
type: "GET",
data: { db: $('#db').val() }
})
.done(function(result) {
$('#table').html(result);
})
.fail(function() {
alert( "error" );
});
}
);
【问题讨论】:
-
在控制台上显示“Uncaught ReferenceError: prettyPrint is not defined”,但如果它在没有生成的字符串的情况下工作,这意味着脚本被正确引用对吗?
-
您是否在其他地方定义了
prettyPrint?如果不是,那可能会打断你的执行 -
检查这个jsfiddle.net/raunakkathuria/fB9bk它工作正常,可能是prettyprint函数的问题
-
Prettyprint 函数来自 Google 的 prettyprint 库。除了 之外没有定义其他函数
-
根据文档你不需要调用你只需要包含它的函数,更新了小提琴jsfiddle.net/raunakkathuria/fB9bk它工作正常
标签: javascript jquery syntax-highlighting