javascript DOM操作和删除事件侦听器

时间:2017-08-11 08:06:26

标签: javascript html css

在代码中,我尝试使用javascript动态地向主体添加一些元素,并为其分配一些// function to check whether enter is pressed or not will be loaded on load function check(){ var newItemInputBox = document.getElementById("newToDoItem"); newItemInputBox.addEventListener("keydown",function keyCheck(key){ if(key.keyCode === 13){ // 13 is the keycode for enter var newItem = newItemInputBox.value; console.log("Enter key pressed"); console.log("the entered item is "+newItemInputBox.value); if(newItem == null||newItem == ""){ alert("Please enter valid ToDO name"); console.log("No item was present in the text box"); } else { letsAddNewItem(); } } }); } // function to add new Items to the item container function letsAddNewItem(){ var newItemInputBox = document.getElementById("newToDoItem"); var itemName = newItemInputBox.value; newItemInputBox.value = null; //creating referance to ul element var container = document.getElementById("itemContainerId"); //creating a list element var listItem = document.createElement("LI"); //creating a label with the name input by the user var label = document.createElement("label"); label.appendChild(document.createTextNode(itemName)); //creating a checkbox var checkBox = document.createElement("input"); checkBox.type = "checkbox"; checkBox.id = "checkBoxId"; //changing checkbox label status to striked out look or to normal checkBox.onclick = changeState(checkBox,label); //creating horizontal rule var horizontalRule = document.createElement("HR"); //creating delete button var deleteButton = document.createElement("A"); deleteButton.href = "#"; deleteButton.id = "deleteButtonId" deleteButton.appendChild(document.createTextNode("Delete")); deleteButton.classList.add("deleteButtonStyle"); //adding onclick listener to the delete button deleteButton.onclick = function deleteAllElements(){ container.removeChild(listItem); console.log("Item has been deleted after pressing delete button"); } //adding everything to list item, i.e li element listItem.appendChild(checkBox); console.log("checkbox added to the list"); listItem.appendChild(label); console.log("label added to the list"); listItem.appendChild(deleteButton); console.log("Delete button added to the list"); listItem.appendChild(horizontalRule); console.log("Horizontal rule added to the list"); //adding li element to the container, i.e ul element container.appendChild(listItem); console.log("Whole list item is added to the ul element"); } function changeState(checkBox,label){ if(checkBox.checked){ label.classList.add("strikeItOut"); console.log("Striked out look added"); } else{ label.classList.remove("strikeItOut"); console.log("normal look added"); } } function removeEverything(){ // will be called onunload console.log("Removing everything now"); }。页面重新加载后,我想从动态添加的元素中删除所有事件侦听器。 我尝试了一些方法,但无法获得所需的输出。任何建议将不胜感激



{{1}}




0 个答案:

没有答案