Javascript click listener cycling through two times
<p>I'm listening for clicks on links within a . When I watch what's happening in the debugger upon clicking the link, it's cycling through the Javascript below two times. This means it appears to be doing nothing, but it's working the first time, just being undone the second.</p>

<p>Here's the Javascript in question:</p>

<pre><code>$("#list a").click(function(e) {
    var id = $(e.currentTarget).attr("id");
    $("div#edit_due_at_"+id).toggleClass("hidden");
    $("span.due_"+id).toggleClass("hidden");
    $(this).addClass("hidden");
    e.preventDefault();
    return false
});
</code></pre>

<p>and the HTML:</p>

<pre><code>        &lt;ul id="list"&gt;
      &lt;li class="up" id="32"&gt;
            &lt;span class="cname "&gt;sally and eddie&lt;/span&gt;
            &lt;br&gt;
            &lt;span class="time-ago"&gt;Added 6 days ago.&lt;/span&gt;&lt;br&gt;
              &lt;span class="time-ago"&gt;
                &lt;a href="#" id="32"&gt;add due date&lt;/a&gt;

              &lt;/span&gt;
          &lt;form accept-charset="UTF-8" action="/contacts/32" class="edit_contact" id="edit_contact_32" method="post"&gt;&lt;div style="margin:0;padding:0;display:inline"&gt;&lt;input name="utf8" type="hidden" value="&amp;#x2713;" /&gt;&lt;input name="_method" type="hidden" value="put" /&gt;&lt;input name="authenticity_token" type="hidden" value="dwUgdONDp1TWL6zpdI1+UYvcy3KvIxWUIoRiqMwJklY=" /&gt;&lt;/div&gt;  
                    &lt;input id="contact_done" name="contact[done]" type="hidden" value="true" /&gt;
            &lt;input id="contact_date_done" name="contact[date_done]" type="hidden" value="2012-11-21" /&gt;
                    &lt;input class="btn btn-small hidden done_btn" name="commit" type="submit" value="Mark as done" /&gt;
&lt;/form&gt;      &lt;/li&gt;
      &lt;li class="up" id="33"&gt;
            &lt;span class="cname "&gt;adding a contact for next Monday&lt;/span&gt;
            &lt;br&gt;
            &lt;span class="time-ago"&gt;Added 5 days ago.&lt;/span&gt;&lt;br&gt;
              &lt;span class="time-ago"&gt;
                &lt;a href="#" id="33"&gt;add due date&lt;/a&gt;

              &lt;/span&gt;
          &lt;form accept-charset="UTF-8" action="/contacts/33" class="edit_contact" id="edit_contact_33" method="post"&gt;&lt;div style="margin:0;padding:0;display:inline"&gt;&lt;input name="utf8" type="hidden" value="&amp;#x2713;" /&gt;&lt;input name="_method" type="hidden" value="put" /&gt;&lt;input name="authenticity_token" type="hidden" value="dwUgdONDp1TWL6zpdI1+UYvcy3KvIxWUIoRiqMwJklY=" /&gt;&lt;/div&gt;  
                    &lt;input id="contact_done" name="contact[done]" type="hidden" value="true" /&gt;
            &lt;input id="contact_date_done" name="contact[date_done]" type="hidden" value="2012-11-21" /&gt;
                    &lt;input class="btn btn-small hidden done_btn" name="commit" type="submit" value="Mark as done" /&gt;
&lt;/form&gt;      &lt;/li&gt;........&lt;/ul&gt;
</code></pre>

<p>I thought that <code>return false</code> would stop it from cycling through again?</p>
