title: Filters + Search with Isotopes Breaks Search?
body: <p>I am using Isotopes (v1) and have created a search field following <a href="http://codepen.io/desandro/pen/Jfbpc" rel="noreferrer">an example in a Pen</a>.</p>
  <p>Initially it works, however, if I filter the Isotope gallery then the search field stops working.</p>
  <p>I believe the search function still runs just doesn't filter the gallery and I am unsure how to fix the problem. In fact I am unsure what the exact problem is as no errors are thrown.</p>
  <p><a href="http://jsfiddle.net/vD62w/1/" rel="noreferrer">Here is a Fiddle</a> with a working example.</p>
  <p>Here is the search, filter and isotope JavaScript:</p>
  <pre><code>var $container = $('.isotope'),
      qsRegex,
      filters = {};
  
  $container.isotope({
    itemSelector : '.element',
    masonry : {
      columnWidth : 120
    },
    getSortData : {
      name : function ( $elem ) {
        return $elem.find('.name').text();
      }
    },
  filter: function() {
    return qsRegex ? $(this).text().match( qsRegex ) : true;
  }
  });
  
  function searchFilter() {
    qsRegex = new RegExp( $quicksearch.val(), 'gi' );
    $container.isotope();
  }
  
  // use value of search field to filter
  var $quicksearch = $('#quicksearch').keyup( debounce( searchFilter ) );
  
  $('#reset').on( 'click', function() {
    $quicksearch.val('');
    searchFilter()
  });
      
       // store filter for each group
      
      
      $('#filters').on( 'click', '.button', function() {
        var $this = $(this);
        // get group key
        var $buttonGroup = $this.parents('.button-group');
        var filterGroup = $buttonGroup.attr('data-filter-group');
        // set filter for group
        filters[ filterGroup ] = $this.attr('data-filter');
        // combine filters
        var filterValue = '';
        for ( var prop in filters ) {
          filterValue += filters[ prop ];
        }
        // set filter for Isotope
        $container.isotope({ filter: filterValue });
          
      });
      
      // debounce so filtering doesn't happen every millisecond
      function debounce( fn, threshold ) {
      var timeout;
      return function debounced() {
        if ( timeout ) {
          clearTimeout( timeout );
        }
        function delayed() {
          fn();
          timeout = null;
        }
        setTimeout( delayed, threshold || 100 );
      }
      }
  </code></pre>
  <p>How do I solve the problem?</p>
  <p>Note: I am using jQuery 2.1.1.</p>