inflearn logo
강의

Course

Instructor

Interactive Development Practice End [Capacity Enhancement]

Implementing Mobile Swipe (vanilla JS)

wrap 안에 click 이벤트

225

yoonsoo0e8427

4 asked

0

안녕하세요, 현재 앨범을 클릭하면 유튜브 페이지로 넘어가게 되어있지만 저는 클릭했을 때 음원을 재생하고 싶습니다.

그래서 click이벤트를 사용하여 이벤트를 실행하려 했지만, 전체 wrap에 touch이벤트가 걸려서 인지 안에 앨범을 클릭했을때 전혀 반응을 안합니다ㅜㅜ 혹시 전체적으로 감싸져 있는(wrap) 영역 안에 click를 걸게 하려면 어떻게 작성을 해야하나요..?ㅠㅠ

touch이벤트는 작성해주신 대로 사용하였고, 제가 따로 작성한 click이벤트는 아래와 같이 작성하였습니다.

모바일일때 click 이벤트의 console이 안찍힙니다. 아니면 모바일에서는 무조건 touch이벤트만 사용해야하나요?

for(let i = 0; i<totalNum; i++){
  if(mobileChk()){
     album[i].addEventListener("click", function(){
       console.log(this);
     })
  }else{
    album[i].addEventListener("mouseover", function(){
    var itmes = this.querySelector('audio').play();
       if (itmes) {
         itmes.catch(function(error) { console.error(error) });
       }
       this.addEventListener("mouseout", function(){
         this.querySelector('audio').currentTime = 0; // 재생 위치를 처음으로 설정
         this.querySelector('audio').pause();//일시정지
       })
    })
  }
}

 

javascript 인터랙티브-웹

Answer 1

1

coding11

안녕하세요.

일단 a태그에 href="#" 이렇게 바꿔주세요 traget도 빼주시고요.

for (let i = 0; i < album.length; i++) {
        album[i].onclick = function () {
            alert(i);
            //document.querySelector('audio').play();
        };
    }

위처럼 해주시면 alert이 순서대로 다 찍힙니다.

원하시는 음원을 play해주시면 될 것 같아요.

audio가 album 하위에 있다면 아래처럼 해도 되겠네요.

for (let i = 0; i < album.length; i++) {
        album[i].onclick = function () {
            album[i].querySelector('audio').currentTime = 0;
            album[i].querySelector('audio').play();
        };
    }

 

0

yoonsoo0e8427

세세하게 답변주셔서 감사합니다! 다시 도전해보겠습니다 ^^

모바일 스와이프 구현 마지막 숙제

0

402

2

레퍼런스 사이트

0

339

1

스크롤위치에 따른 페이지 변화에서

0

267

1

배열을 이용한 bg컬러 변경 강의에서 tagname body에 [0]이 왜 붙나요?

0

380

1

스크롤 위치에 따른 페이지 변화 - scroll 이벤트 에 대한 질문

0

675

1

페이징.페이지고정2 질문드립니다.

0

459

1

scrollTo 완성본

0

603

2

모바일 3D 입체 카드 제작 아이폰에서 에러

0

386

1

css 질문 드립니다

0

624

1

css 질문

0

284

1

pointBtn.addEventListner("click")

0

305

2

if문의 첫번째 조건 질문 있습니다~

0

285

1

offsetTop, offsetHeight

0

785

2

기존의 축 회전값에 더해서 rotate

0

320

1

모바일 드래그 강의 질문드립니다!

0

256

1

질문입니다.

0

215

1

GSAP(트윈맥스) 라이센스 관련 질문 드립니다.

0

1657

1

greensock을 사용하려면

0

701

1

TweenMax 효과 리셋

0

527

1

max 이상으로 입력했을 때 질문입니다.

0

193

1

dom에서 직접i nput의 value 값을 갖고 나오는 것에 대해

0

371

1

화살표 회전 질문

0

263

1

질문이용~

0

218

1

파일명 한글시 live Server 작동안함

1

213

1