使用highlightjs动态更改语法

时间:2014-07-04 20:54:08

标签: jquery html jquery-plugins

var d;

$("#ing").keyup(function(){

    d= $("#ing").val();

    $("#lipu").html(d);
});

这是我用来动态更改div内部文本的代码:

hljs.initHighlightingOnLoad(); 

当代码在代码中进行硬编码时,这行代码有助于语法高亮显示,并在页面加载时完美运行。

当我在文本框中写入文本并且突出显示的文本显示在div中时,我想做同样的事情

我尝试使用以下功能

hljs.initHighlighting.called = false;

hljs.initHighlighting();

但它没有用......

请帮助我知道有一个非常简单的解决方案,但我无法在互联网上找到它....

1 个答案:

答案 0 :(得分:3)

根据文档:http://highlightjs.org/usage/,此代码应该有效:

$("#ing").on("input", function(){ // Always prefer the 'input' event instead of keyup

    hljs.highlightBlock($("#lipu").html($(this).val()).get(0));

});

或(更清楚)

$("#ing").on("input", function(){ // Always prefer the 'input' event instead of keyup
    $("#lipu").html($(this).val());
    hljs.highlightBlock($("#lipu").get(0)); // highlightBlock expect a DOM element
});