1.1.2 • Published 10 years ago

click-handler v1.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Declarative JS click handler

click-handler is a very small library that allows you to bind click events to interactive HTML elements in a declarative way.

Example usage

HTML

Declare handlers by adding a data-handler="handler-name" attribute. Multiple handlers can be added by separating them with white-space.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>My app</title>
	<script src="click-handler.js"></script>
</head>
<body>
	<p><a href="/path/to/somewhere" data-handler="my-handler">example</a></p>
	<p><button type="button" data-handler="my-other-handler">other example</button></p>
	<p><button type="button" data-handler="my-handler my-other-handler">two handlers</button></p>
</body>
</html>

JavaScript

You can register handlers individually:

function myHandler(e) {
	e.preventDefault();
	console.log('clicked my handler');
}
clickHandler.register('my-handler', myHandler);

// or

clickHandler.register('my-other-handler', function(e) {
	e.preventDefault();
	console.log('clicked my other handler');
});

…or register an object of handlers in one go:

var handlers = {
	'my-handler': function(e) {
		e.preventDefault();
		console.log('clicked my handler');
	},
	'my-other-handler': function(e) {
		e.preventDefault();
		console.log('clicked my other handler');
	}
}
clickHandler.register(handlers);

// or

clickHandler.register({
	'my-handler': function(e) {
		e.preventDefault();
		console.log('clicked my handler');
	},
	'my-other-handler': function(e) {
		e.preventDefault();
		console.log('clicked my other handler');
	}
});

Unregistering a handler can be done as follows:

clickHandler.unregister('my-handler');

…or to unregister multiple handlers:

clickHandler.unregister('my-handler', 'my-other-handler');

Options

click-handler for now has two configurable options:

clickHandler.configure({
	// to always preventDefault, default: false
	alwaysPreventDefault: true,
	// number of levels to traverse up the DOM to find a handler, default: 2
	maxTraverse: 3
});

Installation

You can install click-handler using npm:

npm install click-handler [--save]

License

click-handler is available under the MIT license

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago

1.0.2

11 years ago

1.0.1

11 years ago

1.0.0

11 years ago