feat: add TypeScript lessons and learning panel
- Introduced a new script to check TypeScript lesson files for errors. - Created a main TypeScript file to render lessons and their details. - Added lesson definitions with starter and answer codes. - Implemented a user interface for navigating and running lessons. - Styled the application with CSS for a better user experience. - Updated README to reflect the new TypeScript section and usage instructions.
This commit is contained in:
27
04-dom-events-async/06-bubbling-and-delegation/answer.js
Normal file
27
04-dom-events-async/06-bubbling-and-delegation/answer.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const panel = document.getElementById("panel");
|
||||
const lessonList = document.getElementById("lesson-list");
|
||||
|
||||
panel.addEventListener("click", function () {
|
||||
console.log("点击到了外层面板");
|
||||
});
|
||||
|
||||
lessonList.addEventListener("click", function (event) {
|
||||
const removeButton = event.target.closest(".remove-btn");
|
||||
|
||||
if (removeButton) {
|
||||
event.stopPropagation();
|
||||
const currentItem = removeButton.closest(".lesson-item");
|
||||
|
||||
if (currentItem) {
|
||||
currentItem.remove();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const currentItem = event.target.closest(".lesson-item");
|
||||
|
||||
if (currentItem) {
|
||||
currentItem.classList.toggle("active");
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user