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/

  • 相关阅读:
    上拉、下拉无限滚动组件-pc端
    elementui 表格应用1:多选+搜索框+保持选中状态
    uniapp初识笔记3
    uniapp 动态获取接口域名
    uniapp初识笔记2
    uniapp上传图片、视频到oss
    uniapp初识笔记
    vue登录页作为modal全局使用
    vue hash模式下微信分享,实现参数传递
    Vscode以管理员身份运行powershell
  • 原文地址:https://www.cnblogs.com/hellowzl/p/7646836.html
Copyright © 2011-2022 走看看