Search code examples
javascriptjqueryeventhandler

How to dynamically set the event handler type?


I would like to dynamically set the event handler.

Example:

$('.test').on( 'click', function() {
  // My Code
});

Expecting (pseudo) code:

// .on or just on
var eventHandler = ".on"; 
$('.test')eventHandler( 'click', function() {
  // My Code
});

eventHandler could be "live", "click", "delegate", etc..

Thanks in advance.


Solution

  • Here is the way to do it:

    var eventHandler = "on"; 
    
    $('.test')[eventHandler]( 'click', function() {
      alert('Hello!')
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <button class='test'>Click Me</button>