Do you like Turbolinks? It's easy and fast way to improve user experience of surfing on your website.
But if you have a large codebase with lots of $(el).bind(...)
Turbolinks will surprise you. Most part of your JavaScripts will stop working in usual way. It's because the nodes on which you bind events no longer exist.
I wrote jquery.turbolinks to solve this problem in my project. It's easy to use: just require it after jquery.js
and tubrolinks.js
, but before other scripts.
Sponsored by Evil Martians.
Gemfile:
gem 'jquery-turbolinks'
JavaScript manifest file:
//= require jquery.turbolinks
And it just works!
By default ready function is binded to page:load event.
If you want to change it use $.setReadyEvent
function:
$.setReadyEvent('page:change');
This project uses Semantic Versioning for release numbering.
- Pass jQuery object to each callback (kossnocorp#4)
- Change event:
page:change
->page:load
(kudos to @davydotcom); - added ability to change ready event via
$.setReadyEvent
- First, initial release
Idea and code by @kossnocorp.