• 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/

  • 相关阅读:
    python列表转json树菜单
    lvm分区创建和扩容
    分布式网络概述
    mycat权威指南阅读笔记--序言1
    Mongodb副本集实现及读写分离
    线程和进程
    socket客户端怎么判断http响应数据的结束
    java遍历http请求request的所有参数实现方法
    Java中mongodb使用and和or的复合查询
    idea @Override is not allowed when implementing interface method
  • 原文地址:https://www.cnblogs.com/hellowzl/p/7646836.html
Copyright © 2020-2023  润新知