From f50a6d583182090781046d20e4821561f6d6d9bc Mon Sep 17 00:00:00 2001 From: Steve Taylor Date: Fri, 19 Jul 2024 09:57:00 -0700 Subject: [PATCH] Add support for jQuery 3 $(document).on("ready", handler) was deprecated in jQuery 1.8 and removed in 3 --- app/assets/javascripts/openseadragon/rails.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/openseadragon/rails.js b/app/assets/javascripts/openseadragon/rails.js index 0425436..ddfb8f5 100644 --- a/app/assets/javascripts/openseadragon/rails.js +++ b/app/assets/javascripts/openseadragon/rails.js @@ -5,7 +5,8 @@ $('picture[data-openseadragon]').openseadragon(); } - var handler = 'ready'; + const jquery3 = parseInt($.fn.jquery.split('.')[0]) >= 3; + let handler = 'ready'; if (typeof Turbolinks !== 'undefined' && Turbolinks.supported) { // Turbolinks 5 if (Turbolinks.BrowserAdapter) { @@ -15,5 +16,14 @@ handler = 'page:load ready'; } } - $(document).on(handler, initOpenSeadragon); + + // Support for $(document).on( "ready", handler ) was removed in jQuery 3 + if (jquery3 && handler.includes('ready')) { + handler = handler.replace('ready', '').trim(); + $(initOpenSeadragon); + } + + if (handler) { + $(document).on(handler, initOpenSeadragon); + } })(jQuery);