BackboneJS-View undelegateEvents


BackboneJS-View undelegateEvents

<!DOCTYPE html>
   <head>
      <title>View Example</title>
         <script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" type="text/javascript"></script>
   </head>
   <body>
      <div id="mydiv"></div>
      <script type="text/javascript">
         //'ViewDemo' is a name of the view class
         var ViewDemo = Backbone.View.extend({

            //When click event occurs it activates the defined function 'undelegateFunc'
            events: {'click button': 'undelegateFunc'},
               undelegateFunc: function () {
                  document.write("do something...");
                  $(this.el).undelegate('button', 'click');
               },

               //'render' provides the logic required to construct the view
               render: function () {

                  //'$el' is cached object that push the content defined within it and
                  //display the value when user clicks the button
                  this.$el.html('<button>Click to undelegate</button>');
               },

               //This function is called when the view is instantiated
               initialize:function(){this.render();}
         });

         //'myview' is an instance of the 'ViewDemo' class
         var myview = new ViewDemo({el: '#mydiv'});
      </script>
   </body>
</html>