Когда я присоединяю функциональность к элементу, мне нужно вызвать .widgetName('destroy') перед удалением его из DOM или jQuery справляется с этим?
.widgetName('destroy')
Попробуйте использовать remove.
remove
Я не думаю, что это происходит автоматически, но опять же, я не думаю, что вам нужно вызывать метод destroy, поскольку event handlers уничтожен для вас из вызова удаления.
destroy
event handlers