динамическое изменение синтаксиса с помощью highlightjs

#jquery #html #jquery-plugins

#jquery #HTML #jquery-плагины

Вопрос:

 var d;

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

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

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

Это код, который я использую для динамического изменения текста внутри div:

 hljs.initHighlightingOnLoad(); 
  

Эта строка кода помогает в подсветке синтаксиса, когда код жестко запрограммирован в тегах, и отлично работает при загрузке страницы.

Я хочу сделать то же самое, когда я пишу текст внутри текстового поля, и выделенный текст будет отображаться внутри div

Я пытался использовать следующие функции

 hljs.initHighlighting.called = false;

hljs.initHighlighting();
  

Но это не сработало…

Пожалуйста, помогите, я знаю, что есть очень простое решение, но я не смог найти его в Интернете….

Ответ №1:

Согласно документу :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
});
  

Комментарии:

1. Да, это сработало!! Спасибо, чувак!! искал по этому поводу последние 5 часов. 🙂