JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://twitter.github.com/bootstrap/assets/js/jquery.js"></script>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<script src="http://twitter.github.com/bootstrap/assets/js/bootstrap.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>

<script type="text/template" id="contentViewTemplate"></script>
    <div>
        <h1></h1>
        <button id="close-me">Close Me!</button>
    </div>
<a class="foo">Click Me</a>

JavaScript

var MyPopoverView = Backbone.View.extend({
    template: _.template($('script#contentViewTemplate').text()),
    
    close: function() {
        this.popoverEl.popover('hide');
    },
    
    render: function(parentEl) {
        if (!parentEl) {
            throw new Error('parentEl must be provided to render.');
        }
        
        this.$el.html(this.template({}));
        
        if (parentEl) {
            var me = this;
            this.popoverEl = parentEl.popover({
                html: true,
                title: 'Hello',
                placement: 'bottom',
                content: function() {
                    return me.$el;
                }
            });
            
            // Have delegate events listened from popover's parent instead
            // of body.
            this.popoverEl.parent().delegate('button#close-me', 'click', _.bind(this.close, this));
        }
        
        return this;
    }
});

var containerView = new MyPopoverView();
containerView.render($('a.foo'));