diff --git a/app/assets/javascripts/blacklight/core.js b/app/assets/javascripts/blacklight/core.js index e60d99771b..b7dd9b957b 100644 --- a/app/assets/javascripts/blacklight/core.js +++ b/app/assets/javascripts/blacklight/core.js @@ -9,17 +9,31 @@ Blacklight = function() { for(var i = 0; i < buffer.length; i++) { buffer[i].call(); } + }, + + listeners: function () { + var listeners = []; + if (Turbolinks && Turbolinks.supported) { + // Turbolinks 5 + if (Turbolinks.BrowserAdapter) { + listeners.push('turbolinks:load'); + } else { + // Turbolinks < 5 + listeners.push('page:load', 'ready'); + } + } else { + listeners.push('ready'); + } + + return listeners.join(' '); } - } + }; }(); // turbolinks triggers page:load events on page transition // If app isn't using turbolinks, this event will never be triggered, no prob. -$(document).on('page:load', function() { +$(document).on(Blacklight.listeners(), function() { Blacklight.activate(); }); -$(document).ready(function() { - Blacklight.activate(); -});