Debounce Method

by arbaazshaikh919

HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>Debounce Method</title>
</head>
<body>
  <button type="button" id="debounce">Debounce Method</button><br />
  <span id="message"></span>
</body>
</html>

JavaScript

var debouncebtn = document.getElementById('debounce');

function debounce(func, delay){
  var debounceTimer;
  return function () {
    var context = this, args = arguments;
    clearTimeout(debounceTimer);
    debounceTimer = setTimeout(function() {
      func.apply(context, args)
    }, delay);
  }
}

debouncebtn.addEventListener('click', debounce(function() {
	document.getElementById('message').innerHTML += '<br/> Button only triggeres is every 3 secounds how much every you fire an event';
  console.log('Button only triggeres in every 3 secounds how much every you fire an event');
},3000))