JSFiddle - React, Tailwind, and code Playground

by darcyclarke

HTML

<a href="#" class="test">Test Custom Hooks</a>

JavaScript

/**********************************************************/
    /*
    /* jHooks - Javascript Web Hooks
    /* Copyright 2010
    /* Darcy Clarke http://darcyclarke.me
    /*
    /**********************************************************/
    (function(window){
        jHooks = {},
        jHooks = window.jHooks,
        jHooks.hooks = [],
        jHooks.addHook = function(name, callback){
            jHooks.hooks.push({"name": name, "callback": callback});    
        },
        jHooks.setHook = function(name, args){
            var temp = [];
            if(jHooks.hooks.length > 0){
                for(var x=0;x<jHooks.hooks.length;x++) { 
                    if(jHooks.hooks[x].name == name)
                        temp.push({"fn":jHooks.hooks[x].callback});
                }
                for(x=0;x<temp.length;x++){
                    temp[x].fn.apply(this,[args]);
                }
            }
        };
        if(jQuery){
            jQuery.addHook = function(name, callback){
                jHooks.addHook(name, callback);
            };
            jQuery.setHook = function(name, args){
                jHooks.setHook(name, args);
            };
        }
        window.jHooks = jHooks;
    })(window);
    
    jQuery(function($){
        
        // Set Onload Hook
        $.setHook("onload", {"page_url":window.location.href});      
    
        $(".test").bind({
            // Set Click Hook
            "click":function(){ 
                $.setHook("testClick", {"elem":this}); 
            }, 
            // Set Hover Hook
           "mouseover":function(){
               $.setHook("testHover", {"elem":this});            
           }
        });
    });

    // Onload Hooks
    $.addHook("onload", function(data){ 
        console.log("Load One : " + data); 
    });
    $.addHook("onload", function(data){ 
        console.log("Load Two : " + data); 
    }); 

    // Click Hooks
    $.addHook("testClick", function(data){   
       ...