Menu icon Foundation
Change in 6.3+ EventsListener Breaks jQuery Transition (Equalizer)

I'm in the process of migrating from Foundation 2.4 to Foundation 6.3.1 (Although, I think this change was made in 6.3) and I've run in to a quirk with our (home-rolled) navigation menu. Instead of sliding down smoothly (we're using jquery slidedown for that) the transition is all janky and jumps a little.

We use nested equalizer (to equalize the top level menu items and also to equalize the dropdown menus) which seems to be part of the problem, if I get rid of equalizer on the dropdowns, the transition works nicely and the jumping goes away.

I've narrowed the problem down to equalizer and the changes that have been made to the events listener method, specifically the following line (1812 in unminified dist/foundation.js in 6.3.1):

elementObserver.observe(nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] });

It seems that changing `subtree: true` to `subtree: false` in the line above (as it was in 6.2.4) fixes the issue with no apparent side effects.

Could someone shed some light on what that means, why it's true instead of false, and whether or not I should change it?

You can see the working 6.2.4 version here (hover over the top navigation to see it slide down): 
I don't have a public example with the broken 6.3.1 version but the nav markup is exactly the same - If I change that one line (subtree:true to subtree:false) it fixes the issue.

EqualizereventsListener

I'm in the process of migrating from Foundation 2.4 to Foundation 6.3.1 (Although, I think this change was made in 6.3) and I've run in to a quirk with our (home-rolled) navigation menu. Instead of sliding down smoothly (we're using jquery slidedown for that) the transition is all janky and jumps a little.

We use nested equalizer (to equalize the top level menu items and also to equalize the dropdown menus) which seems to be part of the problem, if I get rid of equalizer on the dropdowns, the transition works nicely and the jumping goes away.

I've narrowed the problem down to equalizer and the changes that have been made to the events listener method, specifically the following line (1812 in unminified dist/foundation.js in 6.3.1):

elementObserver.observe(nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] });

It seems that changing `subtree: true` to `subtree: false` in the line above (as it was in 6.2.4) fixes the issue with no apparent side effects.

Could someone shed some light on what that means, why it's true instead of false, and whether or not I should change it?

You can see the working 6.2.4 version here (hover over the top navigation to see it slide down): 
I don't have a public example with the broken 6.3.1 version but the nav markup is exactly the same - If I change that one line (subtree:true to subtree:false) it fixes the issue.

George S 13 days ago

Here's the commit where that value was changed. I read up on mutationObserver so I get why this was done now but I still can't decide on how to deal with my issue. It would be nice to be able to set that value to false in the context of the one component I'm having trouble with.