Introduction

In this article we will create an application in which we convert the background color on the button click event using Backbone.js View. In this application we create a View event for binding the events with their children. For creating the event we need the following syntax:

"event css-selector": function

In this tutorial we use the View event for changing the background color. When we click on the button it displays an alert and after clicking on OK it will change the color of the background.

Now let's see how to create the application.

  1. Create the Web application:

Add Web Application

  1. Now we need to add the HTML page to the project:

Add HTML Page

Change Name

In this HTML Page add the following HTML code:

<html>

<head>

<title>Backbone.js View Event</title>

</head>

<body>

<p>Click on color name and see the Alert And change the background color.</p>

<p></p>

<div id="main">

</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.1/underscore-min.js"></script>

<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.1/backbone-min.js"></script>

</body>

</html>

Now we need to add some scripting code. First we create a view:

var ColorView = Backbone.View.extend({

tagName: "div",

className: "color-change",

template: null,

In the code above we add the following view with a default value.

events: {

"click .button": "buttonClickHandler" //create event

},

The code above is used for creating the event. Here we create the Click event of the button.

initialize: function () {

_.bindAll(this);

//here we simulate that we load an external template with the Html of our view

this.template = _.template('<a class="button">Blue</a>');

},

render: function () {

this.$el.html(this.template());

$('#main').append(this.$el);

return this;

},

This code is for displaying the alert on the click of the button. Also change the background color.

buttonClickHandler: function (event) {

alert($(event.currentTarget).text());

return (document.bgColor = "blue");

},

});

The entire JavaScript code is:

<script>

$(function () {

//Backbone code - begin

var ColorView = Backbone.View.extend({

tagName: "div",

className: "color-change",

template: null,

//we listen for clicks on items with the css class "button"

events: {

"click .button": "buttonClickHandler" //create event

},

initialize: function () {

_.bindAll(this);

//here we simulate that we load an external template with the Html of our view

this.template = _.template('<a class="button">Blue</a>');

},

render: function () {

this.$el.html(this.template());

$('#main').append(this.$el);

return this;

},

buttonClickHandler: function (event) {

alert($(event.currentTarget).text());

return (document.bgColor = "blue");

},

});

var test = new ColorView();

test.render();

})

</script>

  1. Now execute the application:

display the tab

When we click on the "blue" text then it displays the alert and a click on the "OK" button will cause it to change the color of the background.

Display Alert Box

Change BAckground Color