jQuery - on( events [, selector ] [, data ], handler ) Method



The on( events [, selector ] [, data ], handler ) method binds a handler to an event (like click) for all current − and future − matched element. Can also bind custom events.

Possible event values − blur, focus, load, resize, scroll, unload, click etc.


Here is the simple syntax to use this method −

selector.on( event, selector, data, handler ) 


Here is the description of all the parameters used by this method −

  • events − Event types separated by spaces.

  • selector − A Selector String

  • data − Data to be passed to the event handler in event.data

  • handler − A function to bind to the event on each of the set of matched elements


Following is a simple example a simple showing the usage of this method. Here it binds click event with each <div> element −

Live Demo
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $('div').on('click', function( event ){
               alert('Hi there!');
         .div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
      <p>Click on any square below to see the result:</p>
      <div class = "div" style = "background-color:blue;"></div>
      <div class = "div" style = "background-color:green;"></div>
      <div class = "div" style = "background-color:red;"></div>

This will produce following result −