Javascript - Dynamically assign onclick event in the loop

前端 未结 7 1121
无人共我
无人共我 2020-11-27 19:38

I have very simple html page with js code:


    
        
    
    

        <         


        
7条回答
  •  天涯浪人
    2020-11-27 20:13

    I attach an event handler:

            window.onload = function() {
                var folderElement;
                tagFolders = document.getElementById("folders");
                for (i = 0; i < folders.length; i++) {
                    folderElement = folderButtons[i];
                    folderElement = document.createElement("button");
                    folderElement.setAttribute("id", folders[i]);
                    folderElement.setAttribute("type", "button");
                    folderElement.innerHTML = folders[i];
                    if (typeof window.addEventListener !== "undefined") {
                        folderElement.addEventListener("click", getFolderElement, false);
                    } else {
                        folderElement.attachEvent("onclick", getFolderElement);
                    }
                    tagFolders.appendChild(folderElement);
                }
    

    which can retrieve anything from the element that triggered the event:

    // This function is the event handler for the folder buttons.
    function getFolderElement(event) {
        var eventElement = event.currentTarget;
        updateFolderContent(eventElement.id);
    }
    

    in which case you have to embed the option inside the element / tag. In my case I use the id.

提交回复
热议问题