zoukankan      html  css  js  c++  java
  • Html 标签的事件绑定(转自 MSDN)

    参考 MSDN 网页给 HTML 标签绑定 click 事件:

    function makeFoldersCollapsible(folderIcon, openFolderIcon, pathToIcons, initializeHandler) {
        var elements = document.getElementsByClassName("folder");
        var length = elements.length;
        for (var i = 0; i < length; i++) {
            var folder = elements[i];
            folder.style.display = 'none';
            folder.initialize = initializeHandler;
            var div = folder.previousSibling;
            var firstChild = div.firstChild;
    
            var imagePlusMinus = document.createElement("img");
            imagePlusMinus.src = pathToIcons + "plus.png";
            imagePlusMinus.className = "imagePlusMinus";
    
            var imageFolder = document.createElement("img");
            imageFolder.src = pathToIcons + folderIcon;
            imageFolder.className = "imageFolder";
            setFolderImage(imageFolder, div, firstChild, pathToIcons, folderIcon);
    
            var handler = expandCollapseFolder(folder, imagePlusMinus, imageFolder, div, firstChild, pathToIcons, folderIcon, openFolderIcon);
    
            var skipImage = isLink(firstChild);
            if (skipImage) {
                div.insertBefore(imagePlusMinus, firstChild);
                imagePlusMinus.onclick = handler;
            } else {
                div.insertBefore(imageFolder, firstChild);
                div.insertBefore(imagePlusMinus, imageFolder);
                div.onclick = handler;
            }
        }
    }
    
    function isLink(element) {
        return element && element.tagName && element.tagName == "A";
    }
    
    function expandCollapseFolder(capturedFolder, capturedPlusMinus, capturedFolderImage, capturedDiv, capturedFirstChild, pathToIcons, folderIcon, openFolderIcon) {
        return function () {
            if (capturedFolder.style.display == 'none') {
                capturedPlusMinus.src = pathToIcons + "minus.png";
                if (capturedDiv.className != "projectCSInSolution" && capturedDiv.className != "projectVBInSolution") {
                    capturedFolderImage.src = pathToIcons + openFolderIcon;
                }
    
                if (capturedFolder.initialize) {
                    capturedFolder.initialize(capturedFolder);
                    capturedFolder.initialize = null;
                }
    
                capturedFolder.style.display = 'block';
            }
            else {
                capturedPlusMinus.src = pathToIcons + "plus.png";
                setFolderImage(capturedFolderImage, capturedDiv, capturedFirstChild, pathToIcons, folderIcon);
                capturedFolder.style.display = 'none';
            }
        }
    }

    参考:

    https://referencesource.microsoft.com/

  • 相关阅读:
    【HDU
    【HDU
    【AtCoder
    【POJ
    Apache、Nginx、IIS日志记录分析&详解
    在Windows Server 2008 R2上安装IIS
    SQL 注入漏洞研究
    利用Nginx实现反向代理web服务器(Linux+Nginx+Mysql+PHP)
    CentOS 7 LAMP搭建并且部署sqli-labs
    Kali 下配置Nessus-2020年3月新版
  • 原文地址:https://www.cnblogs.com/hellowzl/p/7646836.html
Copyright © 2011-2022 走看看