title: jQuery .on() method doesn't see new elements
body: <p>I'm getting a JSON element and building a list from its items like this:</p>
  
  <pre><code>getTitles: function(data) {
      data = data || {};
      var list = [];
  
      $.getJSON(
          '/titles',
          data,
          function(data) {
              $.each(data.data, function(key, val) {
                  list.push(
                      '&lt;li&gt;&lt;a href="'+ val.href +'"&gt;'+ val.title +'&lt;/a&gt;&lt;span class="count"&gt;'+ val.count +'&lt;/span&gt;&lt;/li&gt;'
                  )
              });
  
              $('#title-items').html(list.join(''));
          }
      );
  }
  </code></pre>
  
  <p>And I'm binding click event for <code>a</code> elements like this:</p>
  
  <pre><code>$('a').on('click', function(e) {
      alert('clicked');
      e.preventDefault();
  });
  </code></pre>
  
  <p>Old <code>a</code> elements shows alert but new ones follow URL. Event handler doesn't work for new ones. How can I solve this?</p>