html 指定标签绑定事件,Html 标签的事件绑定(转自 MSDN)

这段代码展示了如何使用JavaScript实现文件夹的折叠和展开功能。它通过遍历DOM中具有特定类名的元素,为每个文件夹图标添加点击事件监听器,切换显示状态,并更新图标以反映文件夹的展开或折叠状态。此外,还包含了一个初始化处理函数,用于在文件夹首次展开时执行。
摘要由CSDN通过智能技术生成

functionmakeFoldersCollapsible(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.οnclick=handler;

}else{

div.insertBefore(imageFolder, firstChild);

div.insertBefore(imagePlusMinus, imageFolder);

div.οnclick=handler;

}

}

}functionisLink(element) {return element && element.tagName && element.tagName == "A";

}functionexpandCollapseFolder(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\';

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值