Yep, as I mentioned before, if the menu is available in the DOM ondomready the script will initialize it (and thus $.SmartMenus.Bootstrap.init();
will have no effect after that since the menu is already initialized). So if the menu items, sub menus, etc. are updated by some other script after that (what seems to happen in your case), you will need to call $('#navBarMenu').smartmenus('refresh');
after the DOM update (or alternatively $('#navBarMenu').smartmenus('destroy');
+ $.SmartMenus.Bootstrap.init();
).
As for your suggestion to not auto initialize ondomready by default – I get your point but the addon is designed so that it requires zero configuration efforts for most users so that they’d just need to link the script files and it all works in the generic case.