"halloactivated" event handler isn't unhooked on destroy()
Opened this issue · 0 comments
bcdickinson commented
In hallo's _create
method, there's a one-time event handler wired up to "halloactivated":
@element.one 'halloactivated', =>
# We will populate the toolbar the first time this
# editable is activated. This will make multiple
# Hallo instances on same page load much faster
@_prepareToolbar()
If you destroy the widget before it's been activated and then reinitialise it with a different set of plugins you get an error when the widget is first activated thrown from the handler whose set of plugins no longer matches`:
$(myElement).hallo({ plugins: { halloformat: {} });
$(myElement).hallo('destroy');
$(myElement).hallo({ plugins: { hallolists: {} });
$(myElement).click();
// Uncaught Error: Plugin halloformat not found
I'm just manually calling $(myElement).off('halloactivated')
as a workaround for now.