본문 바로가기

개발/JavaScript

[JS] addEventListener가 동작을 안한다

 

 

글쓰기 기능을 구현하고 글수정 기능을 구현하기 위해 코드를 손봤다.

const main = {
    init : function() {
        const _this = this;

        saveBtn.addEventListener("click", (e) => _this.save());
        updateBtn.addEventListener("click", (e) => _this.update());

    },
    save : async function() {
        // ...
    },
    update : async function() {
        // ...
    }
}

main.init();

 

updateBtn에 이벤트를 추가했는데 클릭 이벤트가 동작을 하지 않았다.

saveBtn은 글쓰기 화면에만 있고 updateBtn은 글수정 화면에만 있다.

콘솔에서는 계속 null 값에 addEventListener를 줄 수 없다는 에러가 떴다.

updateBtn을 인식 못하나 해서 콘솔에 찍어봤는데 잘 찍혔다.

 

이벤트만 작동이 안됐다.

 

혹시나 해서 순서를 바꿨더니 수정 이벤트가 동작했다. 그러나 글쓰기가 동작이 안됐다.

윗줄에 있는 코드가 에러가 나면 아랫줄 코드가 동작이 안되는 것 같았다.

 

그래서 수정한 코드 :

if(saveBtn) saveBtn.addEventListener("click", (e) => _this.save());
if(updateBtn) updateBtn.addEventListener("click", (e) => _this.update());

 

수정을 했더니 두 이벤트 다 잘 적용이 됐다.