zoukankan      html  css  js  c++  java
  • 封装自己的yQuery

    function myAddEvent(obj, sEv, fn) {
        if (obj.attachEvent) {
            obj.attachEvent('on' + sEv, fn)
        } else {
            obj.addEventListener(sEv, fn, false);
        }
    }
    
    function getByClass(oParent, sClass) {
        var aEle = oParent.getElementByTagName('*');
        var aResult = [];
        var i = 0;
        
        for (var i = 0; i <aResult.length; i++) {
            aResult.push(aEle[i]);
        }
    
        return aResult;
    }
    
    function VQuery(vArg) {
    
        //用来保存选中的元素
        this.elements = [];
    
        switch (typeof vArg) {
            case 'function':
                //window.onload = vArg;
                myAddEvent(window, 'load', vArg);
                break;
            case 'string':
                switch (vArg.charAt(0)) {
    
                    case '#':   //ID
                        var obj = document.getElementById(vArg.substring(1));
                        this.elements.push(obj);
                        break;
                    case '.':   //class
                        getByClass(document, vArg.substring(1));
                        break;
                    default:    //tagName
                        this.elements = document.getElementsByTagName(vArg);
                }
                    
                break;
            case 'object':
                this.elements.push(vArg);
                break;
        }
    }
    
    VQuery.prototype.click = function (fn) {
        var i = 0;
        for (var i = 0; i < this.elements.length; i++) {
            myAddEvent(this.elements[i], 'click', fn);
        }
    }
    
    
    function $(vArg) {
        return new VQuery(vArg);
    }
  • 相关阅读:
    Vue生命周期总结
    jQuery的层级选择器
    jQuery操作DOM的相关方法
    PHP基本语法
    组件间的传值
    MV*模式
    js 常用事件
    kali使用-WIFI破解
    使用css将网页变成黑白色
    css权重等级
  • 原文地址:https://www.cnblogs.com/yzenet/p/3840921.html
Copyright © 2011-2022 走看看