【发布时间】:2017-11-25 15:53:47
【问题描述】:
我决定用 JavaScript 制作一个待办事项列表,复制视频中显示的内容,但视频已经两年了,所以可能是某些属性或其他内容发生了变化并被弃用,真的我不知道。 这是 HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>To-Do list</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<input type="text" id="input">
<button id="btn">Add</button>
<hr>
<ul id="todo">
</ul>
<ul id="done">
</ul>
<script src="main.js"></script>
</body>
</html>
这里是 JavaScript:
(function() {
let input = document.getElementById('input');
let btn = document.getElementById('btn');
let lists = {
todo: document.getElementById('todo'),
done: document.getElementById('done')
};
let makeTaskHtml = function(str, onCheck) {
let el = document.createElement('li');
let checkbox = document.createElement('input');
let label = document.createElement('span');
checkbox.type = 'checkbox';
checkbox.addEventListener('click', onCheck);
label.textContent = str;
el.appendChild(checkbox);
el.appendChild(label);
return el;
};
let addTask = function(list, task) {
list.appendChild(task);
};
let onCheck = function(event) {
let task = event.target;
console.log(task);
};
addTask(lists.todo, makeTaskHtml('Test-todo'));
addTask(lists.done, makeTaskHtml('Test-done'));
}());
在函数onCheck 中,我尝试了我之前在此函数中定义的console.log 任务,但没有发生任何事情:既没有错误也没有我期望看到的结果
有什么问题?可能是因为event.target 或addEventListener?
请帮我透露一下。
【问题讨论】:
标签: javascript events dom-events addeventlistener