在FF下的执行顺序是jq -&gt

作者:官方彩票手机投注网站-服务器运维

dom加载完后执行,一直不了解,基于对网上的一些方法逻辑不了解,所以去看了《jquery源代码研究 》这篇文章后自己写入如下代码复制代码 代码如下:

document.ready

test

由于要和jq做对比,所以测试时候需要导入jq库。函数本身是没有调用jq的,请放心引用。 代码我通过封装完成,直接Darren.ready就可执行。 后来通过测试还是出现一个奇怪的问题:在FF下的执行顺序是jq -> my -> load 。也就是说我这个函数能够在onload事件执行前触发,但会晚于jq的ready。对这个还是比较满意。 但是在IE下测试居然是:jq -> load -> my。也就是 我的这个函数虽然能够把代码提前,但是还是在onload事件执行后触发的,百思不得其解。 完同志们解答下如何实现onload之前执行,jq又是怎么实现的,我完全模拟jq的结构,但是还是不能达到目的,难道中间有漏? 另大家可以参考下面的代码复制代码 代码如下:var ready=function { if(document.addEventListener) document.addEventListener("DOMContentLoaded",function() { document.removeEventListener("DOMContentLoaded",arguments.callee,false); readyCall; else if {//for IE if(document.documentElement.doScroll && window.self==window.top) { { try { document.documentElement.doScroll { setTimeout; return; } readyCall; }else {//maybe late but also for iframes document.attachEvent("onreadystatechange",function() { if(document.readyState==="complete") { document.detachEvent("onreadystatechange", arguments.callee); readyCall; } } }

本文由彩票投注软件发布,转载请注明来源

关键词: