首页 > 代码库 > javascript钩子机制
javascript钩子机制
钩子机制是这样的,大家按照某一规则写一个方法(这个规则在方法名称上),然后页面加载完之前,统一执行所有的钩子函数。
注意callHooks方法,里面的局部变量s就是钩子函数名称中一定要有的内容。——这是使用钩子的方法!
// 处理钩子的对象 var hook = (function(){ return { timer:null, init:function(){ this.callHooks(‘init‘); }, callHooks:function(init){ var s = "hook_" + init + ‘_event‘, f = []; for(var h in window){ if(h.indexOf(s) != 0) continue; f.push(h); } this.hooksTimeout(f); }, hooksTimeout:function(hooks){ if(0 === hooks.length){ if(this.timer) clearTimeout(this.timer); return; } var h = hooks.shift(); window[h].apply(); window[h] = undefined; window.setTimeout(this.hooksTimeout(hooks), 200); } } }()); // 钩子1 var hook_init_event_tpl_html = function(){ document.getElementById(‘test‘).innerHTML = ‘This is HTML!‘; } // 钩子2 var hook_init_event_tpl_console = function(){ console.log(‘This is console!‘); } // 最好在页面加载完之前调用,也就是在window.onload()之前 hook.init();
总结
很多问题,如果大家一起讨论是很有帮助的,在这过程中我们能学到很多东西,我们也可以在这过程中从牛人身上学到很多方法和思维过程,几乎每次的技术讨论会我都有不菲的收获——我不知道这是不是传说中的“头脑风暴”。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。