diff --git a/examples/assets/js/bootstrap-modal.js b/examples/assets/js/bootstrap-modal.js
index 858e63c56d3e2880564a9f4a5b99ffd5c64ca44b..c4d91709706cd60d2bb4011935f14224ca61df47 100644
--- a/examples/assets/js/bootstrap-modal.js
+++ b/examples/assets/js/bootstrap-modal.js
@@ -107,10 +107,13 @@
         , animate = this.$element.hasClass('fade') ? 'fade' : ''
       if ( this.isOpen && this.settings.backdrop ) {
         this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
-          .click(function () { that.close() })
           .appendTo(document.body)
+        $('body').delegate('.modal-backdrop', 'click.modal.backdrop', function () {
+          that.close()
+        })
       } else if ( !this.isOpen && this.$backdrop ) {
         this.$backdrop.removeClass('in')
+        $('body').undelegate('click.modal.backdrop')
 
         function removeElement() {
           that.$backdrop.remove()
@@ -126,13 +129,13 @@
   , escape: function () {
       var that = this
       if ( this.isOpen && this.settings.closeOnEscape ) {
-        $(window).bind('keyup.modal.escape', function ( e ) {
+        $('body').bind('keyup.modal.escape', function ( e ) {
           if ( e.which == 27 ) {
             that.close()
           }
         })
       } else if ( !this.isOpen ) {
-        $(window).unbind('keyup.modal.escape')
+        $('body').unbind('keyup.modal.escape')
       }
     }