BackboneJS-View setElement


Description

If you'd like to apply a Backbone view to a different DOM element, use setElement, which will also create the cached $el reference and move the view's delegated events from the old element to the new one.

Syntax

view.setElement(element)

Parameters −

  • element − It is the element which can be changed from existing element to different element.

Example

<!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 = "myview">
   	   Enter your text: <input type = "text"/>
      </div>
      
      <div id = "myapp"></div>
      
      <script type = "text/javascript">
         
         //'ViewDemo' is a name of the view class
         var ViewDemo = Backbone.View.extend({
            //Event triggers 'sayHi' function when you enter the text in input tag
            events: {
               'change input': 'sayHi'
            },
            
            //This function is called when the view is instantiated
            initialize: function() {
               this.setElement($('#myview'));   
               //'setElement' changes the element associated with the view
            },
            
            //when you enter the text, it displays the below line on the screen
            sayHi: function() {
               document.write('Welcome to Tutorialspoint!!!');
            }
         });
         
         //'viewdemo' is a instance of the 'ViewDemo' class
         var viewdemo = new ViewDemo;
      </script>
      
   </body>
</html>

Output

Let's carry out the following steps to see how above code works:

  • Save above code in setElement.htm file

  • Open this HTML file in a browser.

backbonejs_view.htm
Advertisements