javascript - 创建一个类似 jQuery(document).ready 的函数

标签 javascript jquery function

我怎样才能做到这一点?

看来你可以有多个 jQuery 的 read() 函数,它们都会在 DOM 加载时运行。

那么我怎样才能创建自己的类似ready()的函数呢? :)

最佳答案

function _addEvent(e, evt, handler){
    if(evt == "ready")
        evt = "DOMContentLoaded";

    if(typeof handler !== 'function')return;
    if (e.addEventListener)
        e.addEventListener(evt, handler, false);
    else if (e.attachEvent)
        e.attachEvent("on" + evt, handler);
    else
    {
        var oldHandler = e["on" + evt];   
        function newHandler(event){
            handler.call(e, event);
            if(typeof oldhandler === 'function')oldhandler.call(e, event);
        }
    }
}
var _events = ["ready", "click", "mousedown"]; //...
var _myLib = function(item){
    function eventWorker(item, event){
        this.add = function(handler){
            _addEvent(item, event, handler);
        };
    }
    for(var i=0;i<_events.length;i++)
        this[_events[i]] = (new eventWorker(item, _events[i])).add;
};
var MyLib = function(item){
    return new _myLib(item);
};

MyLib(document).ready(function(){alert("I am ready!");});

测试=> http://jsfiddle.net/vgraN/

关于javascript - 创建一个类似 jQuery(document).ready 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945899/

相关文章:

javascript - 在这一特定场景中数据被覆盖

javascript - 从 ExtJS 中的商店中删除过滤器

javascript - 如何在此模态 div 中显示此 .php 文件?

javascript - 打字时的千位分隔符和小数点(带逗号)

javascript - 使用 jQuery 保持被点击的文章处于跟踪/活跃状态

javascript - 使用 ID 的一部分查找元素

javascript - BehaviourSubject 问题,next() 不起作用

mysql - 从字符串中删除连续的重复字符

javascript - 当循环内的 if 子句中断时,在函数中返回 false

javascript - 我现有功能的内部是什么? Javascript