title: How to reattach/rebind Events on Ajax loaded Content?
body: <p>Om my website <strong>add to cart ** is done ajax. now I have a button that insert new products via ajax on page. My problem is that the newly added product **add to cart form</strong> do not work with ajax.</p>
  
  <pre><code>&lt;ul&gt;
    &lt;li&gt;
      &lt;form action="add-to-cart.php?product_id=1"&gt;....&lt;/form&gt;
    &lt;/li&gt;
    &lt;li&gt;
      &lt;form action="add-to-cart.php?product_id=2"&gt;....&lt;/form&gt;
    &lt;/li&gt;
  &lt;li&gt;
      &lt;form action="add-to-cart.php?product_id=3"&gt;....&lt;/form&gt;
    &lt;/li&gt;
  &lt;li&gt;
      &lt;form action="add-to-cart.php?product_id=4"&gt;....&lt;/form&gt;
    &lt;/li&gt;
  &lt;li&gt;
      &lt;form action="add-to-cart.php?product_id=5"&gt;....&lt;/form&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
  &lt;button id="load-more"&gt;Load More Products&lt;/a&gt;
  </code></pre>
  
  <p>I know i can bind event  like this</p>
  
  <pre><code>$(document).on("submit", 'form', function(event) { 
      //logic here
  });
  </code></pre>
  
  <p>But I do not have access to js file which have the logic (Lets say i can not edit the file).</p>
  
  <p>So my Question is can i reattach/ rebind the event on the newly loaded ajax content(add to cart form to be specific).</p>
  
  <p><strong>EDIT</strong>
  The code of the existing addto cart js file</p>
  
  <pre><code>/**
   * Copyright Â© 2016 Magento. All rights reserved.
   * See COPYING.txt for license details.
   */
  define([
      'jquery',
      'mage/translate',
      'jquery/ui'
  ], function($, $t) {
      "use strict";
  
      $.widget('mage.catalogAddToCart', {
  
          options: {
              processStart: null,
              processStop: null,
              bindSubmit: true,
              minicartSelector: '[data-block="minicart"]',
              messagesSelector: '[data-placeholder="messages"]',
              productStatusSelector: '.stock.available',
              addToCartButtonSelector: '.action.tocart',
              addToCartButtonDisabledClass: 'disabled',
              addToCartButtonTextWhileAdding: '',
              addToCartButtonTextAdded: '',
              addToCartButtonTextDefault: ''
          },
  
          _create: function() {
              if (this.options.bindSubmit) {
                  this._bindSubmit();
              }
          },
  
          _bindSubmit: function() {
              var self = this;
              this.element.on('submit', function(e) {
                  e.preventDefault();
                  self.submitForm($(this));
              });
          },
  
          isLoaderEnabled: function() {
              return this.options.processStart &amp;&amp; this.options.processStop;
          },
  
          /**
           * Handler for the form 'submit' event
           *
           * @param {Object} form
           */
          submitForm: function (form) {
              var addToCartButton, self = this;
  
              if (form.has('input[type="file"]').length &amp;&amp; form.find('input[type="file"]').val() !== '') {
                  self.element.off('submit');
                  // disable 'Add to Cart' button
                  addToCartButton = $(form).find(this.options.addToCartButtonSelector);
                  addToCartButton.prop('disabled', true);
                  addToCartButton.addClass(this.options.addToCartButtonDisabledClass);
                  form.submit();
              } else {
                  self.ajaxSubmit(form);
              }
          },
  
          ajaxSubmit: function(form) {
              var self = this;
              $(self.options.minicartSelector).trigger('contentLoading');
              self.disableAddToCartButton(form);
  
              $.ajax({
                  url: form.attr('action'),
                  data: form.serialize(),
                  type: 'post',
                  dataType: 'json',
                  beforeSend: function() {
                      if (self.isLoaderEnabled()) {
                          $('body').trigger(self.options.processStart);
                      }
                  },
                  success: function(res) {
                      if (self.isLoaderEnabled()) {
                          $('body').trigger(self.options.processStop);
                      }
  
                      if (res.backUrl) {
                          window.location = res.backUrl;
                          return;
                      }
                      if (res.messages) {
                          $(self.options.messagesSelector).html(res.messages);
                      }
                      if (res.minicart) {
                          $(self.options.minicartSelector).replaceWith(res.minicart);
                          $(self.options.minicartSelector).trigger('contentUpdated');
                      }
                      if (res.product &amp;&amp; res.product.statusText) {
                          $(self.options.productStatusSelector)
                              .removeClass('available')
                              .addClass('unavailable')
                              .find('span')
                              .html(res.product.statusText);
                      }
                      self.enableAddToCartButton(form);
                  }
              });
          },
  
          disableAddToCartButton: function(form) {
              var addToCartButtonTextWhileAdding = this.options.addToCartButtonTextWhileAdding || $t('Adding...');
              var addToCartButton = $(form).find(this.options.addToCartButtonSelector);
              addToCartButton.addClass(this.options.addToCartButtonDisabledClass);
              addToCartButton.find('span').text(addToCartButtonTextWhileAdding);
              addToCartButton.attr('title', addToCartButtonTextWhileAdding);
          },
  
          enableAddToCartButton: function(form) {
              var addToCartButtonTextAdded = this.options.addToCartButtonTextAdded || $t('Added');
              var self = this,
                  addToCartButton = $(form).find(this.options.addToCartButtonSelector);
  
              addToCartButton.find('span').text(addToCartButtonTextAdded);
              addToCartButton.attr('title', addToCartButtonTextAdded);
  
              setTimeout(function() {
                  var addToCartButtonTextDefault = self.options.addToCartButtonTextDefault || $t('Add to Cart');
                  addToCartButton.removeClass(self.options.addToCartButtonDisabledClass);
                  addToCartButton.find('span').text(addToCartButtonTextDefault);
                  addToCartButton.attr('title', addToCartButtonTextDefault);
              }, 1000);
          }
      });
  
      return $.mage.catalogAddToCart;
  });
  </code></pre>