todolist效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>todolist</title>
<style>
body{
padding: 0 20%;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
li input{
display: none;
}
li.edit span{
display: none;
}
li.edit input{
display: initial;
}
</style>
</head>
<body>
<header>
<h1>To Do List</h1>
</header>
<main>
<ul id="checklist">
<li>
<span>Apples</span>
<input type="text" value="Apples">
</li>
<li>
<span>Bananas</span>
<input type="text" value="Bananas">
</li>
<li>
<span>Grapes</span>
<input type="text" value="Grapes">
</li>
</ul>
</main>
<script src="/script/todolist.js"></script>
</body>
</html>
todolist.js
var checklist = document.getElementById('checklist')
items = checklist.querySelectorAll('li');
inputs = checklist.querySelectorAll('input')
for(var i = 0;i<items.length;i++)
{
items[i].addEventListener('click',editItem);
inputs[i].addEventListener('blur',updatItem);
inputs[i].addEventListener('keypress',itemKeyPress)
}
function editItem(){
this.className='edit'
var input = this.querySelector('input');
input.focus();
input.setSelectionRange(0,input.value.length);
}
function updatItem(){
this.previousElementSibling.innerHTML = this.value;
this.parentNode.className = '';
}
function itemKeyPress(event){
if(event.which ===13){
updatItem.call(this)
}
}