Get Single

by Justin Chen

HTML

<script src="https://getfirebug.com/firebug-lite.js"></script>
<button>
  click ony once!
</button>

JavaScript

var getSingle = function(fn){
	var single;
  return function(){
  	return single || (single = fn.apply(this, arguments));
  }
},
one = getSingle(function(elem){
	var triggerTimes = 0;
  elem.addEventListener('click', function(e){
  	console.log('Triggered times:', triggerTimes++);
  }, false);
}),
btn = document.querySelector('button'),
trigger = one(btn);

trigger();
trigger();
trigger();