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.
Advertisements