From c7a4c9fc7586f032645c4368aedecadcb9ffb402 Mon Sep 17 00:00:00 2001 From: Chris Hallberg <crhallberg@gmail.com> Date: Wed, 24 Aug 2016 16:19:01 -0400 Subject: [PATCH] Remove dynamically generated VuFind.lightbox.closed event listeners to prevent stacking. --- themes/bootstrap3/js/lightbox.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js index cf26313a7e6..c55eca08277 100644 --- a/themes/bootstrap3/js/lightbox.js +++ b/themes/bootstrap3/js/lightbox.js @@ -248,8 +248,9 @@ VuFind.register('lightbox', function Lightbox() { } // onclose behavior if ('string' === typeof $(form).data('lightboxOnclose')) { - document.addEventListener('VuFind.lightbox.closed', function lightboxClosed(ev) { - _evalCallback($(form).data('lightboxOnclose'), ev); + document.addEventListener('VuFind.lightbox.closed', function lightboxClosed(e) { + this.removeEventListener('VuFind.lightbox.closed', arguments.callee); + _evalCallback($(form).data('lightboxOnclose'), e); }, false); } // Loading -- GitLab