<!-- see: http://jsfiddle.net/UX5Ln/ -->
<html>
<body>
<style>
.click{
color: red;
}
#last span{
font-weight: bold;
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<div id="click" class="click">Click Me</div>
<div>Clicks: <span id="clickCount">0</span></div>
<br/>
<div id="click2" class="click">Click Me Too</div>
<div>Clicks: <span id="clickCount2">0</span></div>
<br/>
<div id="last">Last element clicked: <span></span></div>
<script>
var clickCallbacks = $.Callbacks();
clickCallbacks.add(function() {
var c = parseInt(this.text(), 10);
this.text(c + 1);
console.log(arguments);
});
clickCallbacks.add(function(id) {
$('span', '#last').text(id);
});
$('.click').click(function() {
var $ele = $(this).next('div').find('[id^="clickCount"]');
clickCallbacks.fireWith($ele, [this.id]);
});
</script>
</body>
</html>