jquery 질문입니다.. (모달창)

jquery 질문입니다.. (모달창)

QA

jquery 질문입니다.. (모달창)

답변 2

본문

안녕하세요. jquery에서 div의 id값을 받아와서(꼭 id값을 받아야합니다..)
모달창을 여는것 까진 성공했는데 동일하게 했는데 닫기가 안됩니다..ㅠㅠ
console로 찍어봐도 id값이 동일하게 출력되는데 닫기가 안됩니다..ㅠㅠㅠ

2084178203_1602669716.0806.png

 

2084178203_1602669734.2601.png

 

최상단에 $("#"+getId).show()는 되게 잘됩니다..ㅠ

 

 

 


2084178203_1602669800.7653.png

개발자모드에서도 id값이 console에서 동일하게 찍힙니다..


2084178203_1602669783.2665.png

 

문제가 뭘까요..ㅠㅠ 고수님들 부탁드립니다..ㅠ.

이 질문에 댓글 쓰기 :

답변 2

$('#'+idd).css(~

->

$('#'+idd).hide();

로 변경해 보면 어떨까 싶습니다.

<a> ~

 

구조인데 </a> 태그가 없어서..

해당 모든 영역을 클릭했을 때.. (닫기버튼을 클릭해도)

$('a.ingradient').click(~

이 작동할 가능성이 있어 보입니다. <a> 태그 부분을 재작성해 볼 수 있을 것 같습니다.

 

가령, <a class="ingradient" ~>열기</a> <div class="overlay" ~

<a> 태그 내부에 <div> 태그가 위치하고 있기 때문에 div.ingre-close 의 클릭 이벤트 이후에 a.ingredient 의 클릭 이벤트가 한번 더 실행됩니다.

즉, 실제로는 hide() 가 정상 작동됐지만 이후에 다시 show() 가 작동되어 화면상 변화가 없는 것입니다.

(console.log로 각각의 클릭 이벤트 작동 여부를 확인해보시면 알기 쉽습니다.)

<div> 부분들을 외부로 분리하시거나 이벤트 구역을 분리하시는 편이 좋을 듯합니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,013
© SIRSOFT
현재 페이지 제일 처음으로