From f67350326e9b465b1c9bcce964000f4a89e6315d Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Wed, 21 Feb 2018 13:06:55 +0100 Subject: [PATCH] fix: trigger opened.zf.offcanvas at the end to prevent race conditions --- js/foundation.offcanvas.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/js/foundation.offcanvas.js b/js/foundation.offcanvas.js index 995bf91d4..080a18536 100644 --- a/js/foundation.offcanvas.js +++ b/js/foundation.offcanvas.js @@ -280,6 +280,7 @@ class OffCanvas extends Plugin { * @param {Object} event - Event object passed from listener. * @param {jQuery} trigger - element that triggered the off-canvas to open. * @fires OffCanvas#opened + * @todo also trigger 'open' event? */ open(event, trigger) { if (this.$element.hasClass('is-open') || this.isRevealed) { return; } @@ -301,15 +302,10 @@ class OffCanvas extends Plugin { this.$element.siblings('[data-off-canvas-content]').css('transition-duration', ''); } - /** - * Fires when the off-canvas menu opens. - * @event OffCanvas#opened - */ this.$element.addClass('is-open').removeClass('is-closed'); this.$triggers.attr('aria-expanded', 'true'); - this.$element.attr('aria-hidden', 'false') - .trigger('opened.zf.offcanvas'); + this.$element.attr('aria-hidden', 'false'); this.$content.addClass('is-open-' + this.position); @@ -348,6 +344,12 @@ class OffCanvas extends Plugin { } this._addContentClasses(); + + /** + * Fires when the off-canvas menu opens. + * @event OffCanvas#opened + */ + this.$element.trigger('opened.zf.offcanvas'); } /** -- 2.47.2