imgur.com에서와 동일한 효과를 얻으려고합니다 (데스크톱에서 imgur.com으로 파일을 드래그하면 멋지게 보입니다. 위에 까는 것). 이 게시물 덕분에 이미 해결책을 찾을 수 있습니다. Event propagation, overlay and drag-and-drop events데스크톱에서 브라우저로 파일을 드래그 할 때 'dragenter'에 오버레이 표시
그러나 해결책은 다소 부족합니다. 문제는 $ (document) .on ('dragenter')이 자식 요소 위로 마우스를 가져 가면 여러 번 발생하는 문제입니다. 내가 뷰포트를 입력 할 때 한 번 해고되는 이벤트를 찾고 있었고 뷰포트를 떠나서 dragenter 및 dragleave에 깨끗한 $ overlay.fadeIn() 및 .fadeOut()을 가질 수있었습니다.
전체 뷰포트를 채우는 투명 요소로 해결했습니다. 그런 다음 $ (document) 대신에 transparent 요소에 dragenter를 호출합니다. $ ('* : visible'). live ('dragenter') 숨겨진 실제 오버레이를 보여줍니다. $ ('# transparentOverlay'). on ('dragleave') 오버레이를 숨 깁니다. 꽤 해키하지만
있었으나 결국 선택 $ ('* : 보이는') (적어도 사파리/크롬/파이어 폭스에서) 작동합니다.
사람이 더 나은이 ... 나에게 두통을 제공) (살 암시?
을이 완벽하게 작동 내가 발견 한 유일한 솔루션입니다 .. . setinterval 및 메모리 누출 문제가 있을지 모르지만, 지금까지 완벽하게 작동했습니다. –
누군가이 시간 이후로 더 나은 해결책을 찾았습니까? – BastienSander
왜 처음에는 프랑스어로 답변을 작성 했습니까? 그런 다음 영어로 번역 하시겠습니까? – ozanmuyes