Remove jQuery Plugin Instances

Here’s how to remove all instances of all plugins from an element if the plugin does not include a destroy method:

$.removeData($element.get(0));

This will not remove the bound events. You have to do that separately.
If the plugin you’re trying to remove has namespaced events, you’re in luck:

// Remove namespaced events added using .on()
$element.off('pluginNamespace');
// Remove namespaced events added using .bind()
$element.unbind('.pluginNamespace');

If not, you can examine all of the events attached to an element:

console.log(
	'$element events:', 
	$._data($element.get(0), 'events')
);

Here’s all wrapped up in a handy function:

var destroyCrappyPlugin = function($elem, eventNamespace) {
	var isInstantiated 	= !! $.data($elem.get(0));

	if (isInstantiated) {
		$.removeData($elem.get(0));
		$elem.off(eventNamespace);
		$elem.unbind('.' + eventNamespace);
	}
};

To The Wonder

Newborn.
I open my eyes.
I melt.
Into the eternal light.
A spark.
I fall into the flame.

You brought me out of the shadows.
You lifted me from the ground.
Brought me back to life.

What is she dreaming of?
How calm she is.
In love.
Forever at peace.
We climbed the steps…
to the Wonder.

Viewport

Viewport
  Viewport
    Viewport
      Viewport
        Viewport

  • viewport
    • viewport
      • viewport
        • viewport
          • viewport
            • eye) _
              ••• °°°° –)
          • viewport
        • viewport
      • viewport
    • viewport
  • viewport

Drawn Nights

And we would fight
If I could fight you too.
Then we fall away
to mingle with the crew.
And puke and cry and cough apart.
And deliver me
from where we start.