JavaScript #29


210806
JavaScript #29
  • todolistの変更
    マウスのリストから削除ボタンを押したときにのみ表示されます.
  • function OnButton(event){
      const button = event.target
      console.log("on button")
      button.innerText = '❌'
    }
    
    function LeaveButton(event){
      const button = event.target
      console.log("leave button")
      button.innerText = ""
    }
    
    function deleteToDO(event) {
      // todo 삭제 함수
      const li = event.target.parentElement
      li.remove()
      toDos = toDos.filter((toDo) => toDo.id !== parseInt(li.id))
      saveToDos()
    }
    
    function paintToDo(newTodo) {
      const li = document.createElement('li')
      li.id = newTodo.id
      const span = document.createElement('span')
      span.innerText = newTodo.text
      const button = document.createElement('button')
      button.innerText = ''
      button.addEventListener('mouseover', OnButton)
      button.addEventListener('mouseleave', LeaveButton)
      button.addEventListener('click', deleteToDO)
      li.appendChild(span)
      li.appendChild(button)
      toDoList.appendChild(li)
    }
    最初は昔のあいさつjsの場合のようにdisplay:noneを使用しましたが、期待通りの効果が得られなかったのでinnerTextを修正しました.

    ボタンが正常に表示されていないことを確認します.
    次のボタンの後ろの背景が目障りです.削除しましょう.
    -style.css
    button{
      background-color: transparent;
      border: 0;
      outline: 0;
    }

    マウスを離すとボタンが表示されます.