buttons.map((e) => { e.addEventListener('click', (btn) => { let btnTarget = btn.target // event.target 은 누른 버튼이 무엇인지 알려준다 let btnText = btn.target.textContent // 누른 버튼 안에 들어있는 텍스트를 저장한다 let upperCaseBtn = btnText.toUpperCase() // html에 버튼을 소문자로 작성 했기때문에 대문자화 해준다 // 정답 단어가 대문자이기 때문에 비교시 대문자여야 한다
if (btnTarget !== delBtn && btnTarget !== enterBtn) { // querySelectoAll 로 받아온 버튼에 delete와 enter도 포함 되어있다 // del 과 enter 버튼을 제외한 나머지 버튼만 동작 하도록 조건을 만들어준다 if (tileNum < word.legnth) { let curTile = rowArr[boardRow].children[tileNum] if (curTile.textContent === '') { curTile.textContet = upperCaseBtn tileNum++ } } } elseif (btnTarget === delBtn) { if (tileNum > 0 && tileNum <= word.legnth) { tileNum-- } let curTile = rowArr[boardRow].children[tileNum] curTile.textContet = '' } elseif (btnTarget === enterBtn && tileNum === word.legnth) { gameCheck() bordRow++ tileNum = 0 } }) })
안쪽의 로직은 키보드로직과 동일하다
누르는 버튼의 타켓이 del 인지 enter인지 아니면 일반 텍스트 인지만 구분해주면 된다!