使用highlightjs动态改变语法

Uzu*_*uto 3 html jquery jquery-plugins

var d;

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

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

    $("#lipu").html(d);
});
Run Code Online (Sandbox Code Playgroud)

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

hljs.initHighlightingOnLoad(); 
Run Code Online (Sandbox Code Playgroud)

当代码硬编码在标签中时,这行代码有助于语法突出显示,并且在页面加载时完美运行。

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

我尝试过使用以下功能

hljs.initHighlighting.called = false;

hljs.initHighlighting();
Run Code Online (Sandbox Code Playgroud)

但它没有起作用...

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

Oli*_*y50 5

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

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

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

});
Run Code Online (Sandbox Code Playgroud)

或(更清楚)

$("#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
});
Run Code Online (Sandbox Code Playgroud)