Monday May

Sometimes it’s distance or worse.
And I don’t know how to make that better.
Sometimes we could stick together;
One time sick together.
But all those things
That you don’t know
They know you.

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.