equ*_*nt8 5 javascript turbolinks ruby-on-rails-4 prism.js
我发现当我使用Prism.js语法highliting与Turbolinks组合突出显示行为奇怪.
当我加载第一次突出显示语法的页面时,Prism.js不会被触发,也没有突出显示任何内容.重新加载同一页后,Prism将启动并高亮显示代码.除非我更改位置(转到root)并返回到它(在相同的场景之后),否则页面将在此之后保持突出显示
当我从清单文件中删除Turbolinks时(application.js)一切正常(当然Turbolinks没有做任何事情)
我不想用
= link_to "Foo", blogs_path(blog), "data-no-turbolink" => true
Run Code Online (Sandbox Code Playgroud)
因为我必须在每一个链接上使用它(每个博客都会有一些代码高亮),因此根本没有任何关于turbolinks的观点
我试图使用Turbolings事件,page:change但我对纯JavaScript很糟糕(Prism.js是纯JS和我是jQuery junky)
所以任何人都知道如何告诉Turbolinks触发Prism.js语法高位?
小智 14
我最近遇到了同样的问题,我发现的修复是在页面加载后重新运行Prism.我使用了Turbolinks页面:load event来触发这个.
在Coffeescript中:
$(document).on 'ready page:load', ->
Prism.highlightAll()
Run Code Online (Sandbox Code Playgroud)
或者在普通JS中:
$(document).on('ready page:load', function() {
Prism.highlightAll();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
848 次 |
| 最近记录: |