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){
...