Html 버블링 현상

코딩을 합시다·2023년 2월 16일
0

Html 버블링 : 부모를 클릭하면 자식도 같이 클릭이 되는 현상이다.

이걸 몰라서 조금해매서 코드를 예시로 조금 정리를 해볼려고 한다.


example.html

<label id="video_on">
      <input type="radio" name="options" style="display:none" autocomplete="off" checked>Video Off
</label>

example.js

const videoButtonOn = document.querySelector('#video_on');

videoButtonOn.onclick = () => {
    alert('Video On');
    localVideoTracks.forEach(track => localStream.addTrack(track));
    $(localVideo).css('display', 'inline');
};

이런식으로 html파일과 js파일이 있다고 쳤을때 html파일의 Video Off를 클릭 하면은
lable 태그에서 한번 input태그에서 한번 그렇게 총 두번 클릭되었다고 판단되어 videoButtonOn.onclick 함수가 두번 실행되게 된다.

이거 때문에 localVideoTracks에 트랙 추가문이 두번씩 반복되는 현상이 생겨서 화상채팅 비디오가 잘 작동이 안되는 문제가 있었고 input을 없애고 작동시켜보니 잘 동작되었다!

0개의 댓글