[EDIT: I solved earlier problem by calling delegateEvents(), but shouldn\'t have to. Re-posting w/more info.]
I have a View that when rendered has a login button on
You empty the the #login div. As the jQuery doc says:
To avoid memory leaks, jQuery removes other constructs such as data and event handlers from the child elements before removing the elements themselves.
So you are effectively removing events from your views. I prefer to use detach because it keeps events. http://api.jquery.com/detach/
You can implement a show/hide in your views that will deal with this.