javascript - highlight.js怎么高亮新生成的代码块
问题描述
比如segmentfault编辑器。。。。。
就代码块没有高亮,百度查到的内容
hljs.initHighlightingOnLoad();不就是onload的时候执行渲染么,也就是说,在此之后改变document都不会在执行了。所以很显然这样并不能高亮从接口取会来的文档的代码。
注意我说的是新生成的内容,代码高亮无效,只有pre code ,没有class。。。
问题解答
回答1:高亮代码不止这一种方式,hljs.initHighlightingOnLoad()只不过是将高亮操作绑定在了文档加载事件上而已。
hljs.initHighlightingOnLoad()代码:
function h(){addEventListener('DOMContentLoaded',_,!1),addEventListener('load',_,!1)}
可以看HLJS的官方文档:https://highlightjs.org/usage/
在Custom Initialization部分有代码示例:示例1:
$(document).ready(function() { $(’pre code’).each(function(i, block) {hljs.highlightBlock(block); });});
示例2
hljs.configure({useBR: true});$(’p.code’).each(function(i, block) { hljs.highlightBlock(block);});
所以,如果你只需要高亮单个区域,只要
hljs.configure({ ... });hljs.highlightBlock($(’....’));
语言相关的配置是通过.configure配置的,配置项可以参考:http://highlightjs.readthedoc...
相关文章:
1. javascript - 一个字符串转换成数字,例子就是a="2,322.222",b=’1,211.21’,如何在angualr中执行相减2. javascript - 问一个有趣的问题: 如何将 数字 转成 金额格式3. nginx - 关于vue项目部署到ngnix后出现的问题4. javascript - 怎么才能有效的防止网页被盗?5. jpa mysql 如何id自增初始值?6. javascript - vue使用keep-alive不能保持滚动位置问题。7. html - form 表单 用户名提示和错误提示分开显示?8. MySQL的SELECT...FOR UPDATE究竟起什么作用9. javascript - angularJS module之间可以通信吗?10. java - mysql查询,这是怎么查询的呢

 网公网安备
网公网安备