jQuery Event Delegation

 
<html>
<head>
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
</head>
<body>
<span>jQuery Event Delegation</span>

<!-- Example 1 -->
<div class="container-1">
    <div class="subcontainer">
        <button class="btn">Button 1</button>        
    </div>
    <div class="subcontainer">
        <button class="btn">Button 2</button>
    </div>
</div>

<!-- Example 2 -->
<div class="container-2">
    <div class="subcontainer">
        <button class="btn">Button 1</button>        
    </div>
    <div class="subcontainer">
        <button class="btn">Button 2</button>
    </div>
</div>

<script>
$(function() {
    // Example 1  
    $(".container-1").on("click", ".btn", function(e) {
        console.log(e.target);
        // Or
        console.log(this);
    });

    // Example 2
    $(".container-2").click(function(e) {
        var t = e.target;
        if ($(t).is(".btn")) {
            console.log(t);
        }
    });
});
</script>

</body>
</html>

 

Related Snippets

•  Display Confirmation Popup before leaving page