전체 양식으로 끌어서 놓기 (즉석 업로드하지 않음)로 재생하고있었습니다. 나는 작은 부분이 특정 필드 세트를 파일로 덮어 씌울 때 강조 할 예정 이었지만. dragover
및 dragenter
이벤트 (및 dragleave
등)를 입력하십시오.dragenter/dragover 이벤트에 Event.fromElement가 있습니까?
작은 부분이 아닙니다. The Fiddle : http://jsfiddle.net/rudiedirkx/epp74/
시도해보기 : 필드 세트 위로 드래그하여 조금 이동하십시오. 첫 번째 over
은 필드 세트의 dragenter
이벤트를 트리거합니다 (필드 세트는 노란색 임). 그 이후 (동일한 필드 세트 내에서) 주변을 돌아 다니면 dragenter
및 dragleave
(필드 세트가 더 이상 노란색)이 나쁘다. (그들은 단지 한 번 트리거) mouseenter
및 mouseleave
을 : 나는 IE는 오래 전에 mouseover
및 mouseout
위해 만들어진 것을 확인하고 싶었 이유
입니다. 드래그 이벤트의 경우 똑같은 것이 적용됩니다. 동일한 방식으로 한 번만 트리거해야합니다. JS 라이브러리는 Event.fromElement
및 Event.toElement
을 사용하여 이러한 IE 이벤트를 스푸핑 (및 이벤트 소유자 요소와 비교)합니다. 자세한 내용은 jQuery 또는 Mootools 소스를 참조하십시오.
드래그 이벤트에 대해 동일한 내용을 사용하려면 동일한 fromElement
및 toElement
이 필요합니다. 바이올린에서 볼 수는 있지만, 찾을 수는 없습니다.
누구인지 알고 계십니까? 왜 그들이 사용할 수없는거야?
것은 내가 dragenter
이벤트에 fromElement
을 가지고 있지 않는, 주로 크롬을 사용하고 있지만, 는가 dragleave
이벤트에 toElement
을 가지고있다. 파이어 폭스에서는 약간 더 나 빠졌다.
모든 아이디어는 대단히 환영합니다.
편집
은 a little more debugging 후 나는 크롬의 toElement
dragleave
에서 항상 올바르지 않은 것을 발견했습니다. this
보다 결코 크지는 않지만 때로는 다음과 같아야합니다. 필드 집합 (this
)을 상위 형식 (toElement
)으로두면 다음과 같아야합니다. 그렇게 할 때 this
과 toElement
이 필드 집합입니다 (올바르지 않습니까?).
편집 해결 방법 : 이벤트에 요소를 무시하고 이벤트가 마우스 아래에있는 요소를 찾기 위해 좌표를 사용 http://jsfiddle.net/rudiedirkx/Lwd3md71/ :
나는 이런 일에 끝났다. 애니메이션 프레임 당 최대 한 번 트리거하려면 requestAnimationframe을 사용하고 결과는 31-59fps입니다.
질문을 건너 뛰었지만 이벤트의 srcElement 속성을 찾고 있습니까? – aaaidan
아니요. 올바른 toElement를 찾고 있습니다. 필드 세트를 벗어나는 드래그를 감지하려면 toElement가 필드 세트 외부에 있어야합니다 (예 :
아, 알았습니다. 그런 갈매기가 된 것을 유감스럽게 생각합니다! – aaaidan