Kom*_*mbo 14 ruby-on-rails turbolinks ruby-on-rails-4
我有一个问题,当通过浏览器使用后退/前进按钮时,Turbolinks会多次绑定事件.我有一个简单的脚本,以确保它不是我编写document.on()事件的方式,所以...
$(document).on 'page:load', ->
alert 'Loaded'
Run Code Online (Sandbox Code Playgroud)
单击链接时会触发一次.单击向后或向前(或另一个Turbolink链接)它将触发两次.下次它会发射很多次而且会不断增长.这是我在jQuery和Turbolinks之外的清单文件中唯一拥有的东西.你如何防止Turbolinks重复事件绑定?
这是有道理的 - 如果你使用jquery-turbolinks gem会发生同样的问题,因为它会导致你的jQuery文档就绪函数中的任何代码在每个页面加载时运行.由于文档对象永远不会使用Turbolinks重新初始化,因此会导致冗余绑定.这种情况的解决方案是将$(document).on绑定放在jQuery ready函数之外,这样就不会在每个页面加载时执行它们.
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |