Jquery on('click') not firing after first click
<p>I have some HTML:</p>

<pre><code>&lt;div class="post-container self"&gt;
    &lt;a href="/user/Wiz"&gt;
        &lt;img class="avatar" alt="Profile Picture" src=""&gt;
    &lt;/a&gt;
    &lt;div class="post-body"&gt;
        &lt;div class="post" style="margin-left:0px;"&gt;
            &lt;div class="post-timestamp" style="display:inline-block;float:right"&gt;
                &lt;a href="/posts/80" style="color:#999"&gt;Oct 31&lt;/a&gt;
            &lt;/div&gt;
            &lt;div class="post-functions dropdown displaynone" style="float:right;margin-right:5px;"&gt;
                &lt;a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)"&gt;
                    &lt;i class="icon-cog"&gt; 
                    &lt;/i&gt;
                &lt;/a&gt;
                &lt;ul class="dropdown-menu post-dropdown" role="menu" aria-labelledby="dLabel"&gt;
                    &lt;a class="post-delete" href="javascript:void(0)"&gt;&lt;i class="icon-trash"&gt; &lt;/i&gt;Delete&lt;/a&gt;
                &lt;/ul&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>And with that, I have some Jquery:</p>

<pre><code>$('.posts-content').on('click', '.post-delete', function(e) {
                $('.post-dropdown').dropdown();
                if (confirm('Are you sure you want to delete this post?')) {
                    var $this = $(this);
                    $.ajax({
                        url: '/a/delete_post',
                        type: 'POST',
                        dataType: 'json',
                        data: {'p' : post_id},
                        success: function() {
                            //... 
                            return true;
                        }
                    });
                }
                return false;
            });
</code></pre>

<p>Everything works perfectly the first click, but if I go to another post, and try to click <code>.post-delete</code>, the event never fires, and nothing shows up in the console. It also works if I use <code>$.click()</code>, but I need to dynamically create elements. Why does the <code>$.on('click')</code> not fire the second click?</p>
