title: Item soft rejected due to Proper Event Binding issue
body: <p>An item I've submitted to themeforest.net got soft rejected with the following message:</p>
  
  <p>PROPER EVENT BINDING: Consider using the preferred .on() method rather than .click(), .bind(), .hover(), etc. For best performance and concise code use event delegation whenever possible</p>
  
  <p>I have no idea what to do actually and would appreciate some help.</p>
  
  <p>This is my code (it’s quite long sorry):</p>
  
  <pre><code>jQuery(document).ready(function($) {
  
    "use strict";
  
    // PRELOADER
    $(window).load(function() {
      $('#preloader').fadeOut('slow', function() {
        $(this).remove();
      });
    });
  
  
    // NAV BR RESIZING
    $(document).on("scroll", function() {
      if ($(document).scrollTop() &gt; 50) {
        $("header").removeClass("large").addClass("small");
      } else {
        $("header").removeClass("small").addClass("large");
      }
    });
  
  
    // MOBILE MENU TRIGGER
    $('.menu-item').addClass('menu-trigger');
    $('.menu-trigger').click(function() {
      $('#menu-trigger').toggleClass('clicked');
      $('.container').toggleClass('push');
      $('.pushmenu').toggleClass('open');
    });
  
  
    // SEARCH
    $('.search').click(function(e) {
      $(".search-overlay").addClass("visible");
      e.preventDefault();
    });
    $('.close-search').click(function(e) {
      $(".search-overlay").removeClass("visible");
      e.preventDefault();
    });
  
  
    // FOUNDATION INITIALIZER
    $(document).foundation();
  
  
    // LIGHTCASE
    $('a[data-rel^=lightcase]').lightcase({
      showSequenceInfo: false,
    });
  
  
    // CONTDOWN
    $('[data-countdown]').each(function() {
      var $this = $(this),
        finalDate = $(this).data('countdown');
      $this.countdown(finalDate, function(event) {
        $this.html(event.strftime('' +
          '&lt;span class="time"&gt;%D &lt;span&gt;days&lt;/span&gt;&lt;/span&gt; ' +
          '&lt;span class="time"&gt;%H &lt;span&gt;hr&lt;/span&gt;&lt;/span&gt; ' +
          '&lt;span class="time"&gt;%M &lt;span&gt;min&lt;/span&gt;&lt;/span&gt; ' +
          '&lt;span class="time"&gt;%S &lt;span&gt;sec&lt;/span&gt;&lt;/span&gt;'));
      });
    });
  
  
    // SCROLLDOWN BUTTON
    $(".show-scrolldown-btn").append("&lt;div class='scrolldown-btn reveal-from-bottom'&gt;&lt;/div&gt;")
    $('.scrolldown-btn').on('click', function() {
      var ele = $(this).closest("div");
      // this will search within the section
      $("html, body").animate({
        scrollTop: $(ele).offset().top + 70
      }, 500);
      return false;
    });
  
  
    // ISOTOPE MASONRY
    $(window).load(function() {
      var $container = $('.grid');
      $container.isotope({
        itemSelector: '.grid-item',
        columnWidth: '.grid-sizer',
      });
      var $optionSets = $('.filter'),
        $optionLinks = $optionSets.find('a');
      $optionLinks.click(function() {
        var $this = $(this);
        if ($this.hasClass('active')) {
          return false;
        }
        var $optionSet = $this.parents('.filter');
        $optionSet.find('.active').removeClass('active');
        $this.addClass('active');
        // make option object dynamically, i.e. { filter: '.my-filter-class' }
        var options = {},
          key = $optionSet.attr('data-option-key'),
          value = $this.attr('data-option-value');
        value = value === 'false' ? false : value;
        options[key] = value;
        if (key === 'layoutMode' &amp;&amp; typeof changeLayoutMode === 'function') {
          changeLayoutMode($this, options);
        } else {
          $container.isotope(options);
        }
        return false;
      });
    });
  
  
    //BACK TO TOP
    var offset = 300,
      offset_opacity = 1200,
      scroll_top_duration = 700,
      $back_to_top = $('.backtotop');
    $(window).scroll(function() {
      ($(this).scrollTop() &gt; offset) ? $back_to_top.addClass('is-visible'): $back_to_top.removeClass('is-visible fade-out');
      if ($(this).scrollTop() &gt; offset_opacity) {
        $back_to_top.addClass('fade-out');
      }
    });
    $back_to_top.on('click', function(event) {
      event.preventDefault();
      $('body,html').animate({
        scrollTop: 0,
      }, scroll_top_duration);
    });
  });
  </code></pre>