New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
여러 Flicking중 플리킹영역은 없는데 windows.resize이벤트에는 resize 이벤트가 남아 있어 flicking.resize 이벤트 가발생할때 #378
Comments
안녕하세요. 이는 메이저 2버젼때도 동일하게 있던 동작이므로 v2, v3관계없이 동일하게 처리해주시면 됩니다. djFlick.resize && djFlick.resize(); |
if (typeof(djFlick.resize) != undefinded ) 이렇게 해야 한다는건가요? |
window.resize이벤트가 발생할때 화면에 없는 컨텐츠에 event listener가 달려있어 호출 하는 부분을 없애고자 할때. flicking.pkgd.min.js?v=20200921z:34 Uncaught TypeError: Cannot read property 'getIndex' of undefined resize는 탓는데 getIndex에서 에러나는 (화면에 없어서 그런지... _부분이니까 destory도 가능한 부분일까요? |
$(window).bind('orientationchange resize', function(event){ }); 오류나는 것에 아이디어를 얻어서 try catch으로 에러일때 지우고자 하는데 |
제 생각엔 이 부분은 현재 destroy하는 부분의 코드를 확인해야 해결 가능할 것 같아 보이네요. 만약 destroy된 Flicking이 window의 resize이벤트를 받지 않기를 원하신다면 위와 같이 리스너를 제거해주시면 되는데요, |
코드 첨부하실땐 (```)로 묶어서 보기 편하게 해주시면 감사하겠습니다^^ 위와 같이 입력시 다음과 같이 변합니다. const a = 1; |
아 급한 마음에 죄송합니다. 우선 처리 결과 공유하면 Flicking 함수를 egHelperV3_wel.js를 묶어서 게이트웨이처럼 쓰고 있었는데요 이중 autoResize옵션 true로 했더니 자체내 이벤트 리스너에 이벤트가 우선 걸려있어서 우선 구조를 바꾸긴 힘든 상황이라 autoResize를 false로 하고 자체 windows.resize 이벤트내에서 try catch로 감싸주니 우선 영역이 없어서 나는 오류 getIndex
이 부분이 더이상 발생하지 않음을 확인하였습니다.
autoresize 옵션을 false로 하고 위와 같이 window 이벤트 회전과 리자이스를 바인딩하여 위와같이 처리를 우선 하였습니다.
위와 같이도 수정해보았는데 위와같이 하면 이전과 동일한 getIndex오류가 나오고 있어 우선 try catch로 묶었습니다. |
플리킹을 변형해서 사용중이신 케이스이실 경우, 말씀하신대로 autoResize를 false로 하신 뒤 직접 resize를 핸들링하셔도 좋을 것 같습니다. |
djFlick.destroy()는 egFlicking내 destory를 호출 하게 해놓았는데요. var djFlick = new eg.Flicking( 라서 eg.Flicking내 destroy를 호출하게 한것 인데 이 부분도 먼가 수정이 필요할까요? |
Flicking의 destroy를 호출하고 계시다면, resize 이벤트에 대한 리스너가 destroy시점에 자동으로 remove될텐데요. 정확하게 어떤 이슈인지 잘 모르겠는데요, 제 생각엔 저 이전에 인스턴스를 destroy하는 부분에 원인이 있을 것 같습니다. 그 부분의 코드를 확인해봐야 알 것 같네요. |
항상 빠른 답변 감사합니다. |
넵^^ 해결되셨다면 이슈는 닫도록 하겠습니다. |
Description
egHelperV3_wel.js?v=20200921c:151 Uncaught TypeError: djFlick.resize is not a function
at egHelperV3_wel.js?v=20200921c:151
at dispatch (jquery-3.5.1.min.js?v=20200910:2)
at v.handle (jquery-3.5.1.min.js?v=20200910:2)
at Object.trigger (jquery-3.5.1.min.js?v=20200910:2)
at Object.a.event.trigger (jquery-migrate-1.4.1.min.js?v=20200910:2)
at jquery-3.5.1.min.js?v=20200910:2
at Function.each (jquery-3.5.1.min.js?v=20200910:2)
at a.fn.init.each (jquery-3.5.1.min.js?v=20200910:2)
at a.fn.init.trigger (jquery-3.5.1.min.js?v=20200910:2)
at loadingHide (common.js?v=20200920:400)
에러현상을 보니 3판 구조 플리킹내 여러 프리킹 요소들이 생성되고 지워지면서 eventlistener에는 남아 있어서 그런지 없어진 판
에서 resize이벤트를 발생시켜 에러가 나고 있어서요
첨부한 파일 처럼
$(window).bind('orientationchange resize', function(event){
});
이렇게 해서 해당 영역이 있으면 resize를 하라고 했는데도 djFlick.resize(); 이 부분이 실행이 되는 것 같습니다.
3판 구조 플리킹 쪽을 만질 수가 없어 우선 이부분 에러나기전에 destory라도 시켜보고 싶은데
혹시 방법이 없을까요?
egHelperV3_wel.txt
Steps to check or reproduce
The text was updated successfully, but these errors were encountered: