저는 드래그에 관한 매우 일반적인 낮은 수준의 질문이 있습니다. D3.js v4에서 드래그 이벤트가 트리거되는시기를 정확하게 파악하는 방법에 특히 관심이 있습니다. 예를 들어 드래그 된 객체를 매우 느리게 이동하면 드래그 이벤트가 움직이는 각 픽셀을 실행합니다. 그러나 상당히 빠르게 움직이면 드래그 이벤트는 이동 한 픽셀의 양과 일대일 상관 관계로 트리거되지 않습니다.D3 드래그 이벤트는 얼마나 자주 트리거됩니까?
현재이 문제는 주로 Chrome Dev 성능 탭에서 조사 중입니다. 나는 이것이 (희망을 갖고) 나에게 약간의 통찰력을 줄 것이라고 생각한다. 또한 이벤트가 호출되는 시간을 제한 할 수있는 기능의 디 바운싱이 있음을 알고 있습니다. 그러나, 나는 D3가 이것을 가지고 있다는 것을 알지 못한다. 드래그 호출이 줄어든 이유는 아마도 Chrome의 내부 기능과 관련이 있으며 마우스를 움직이는 속도에 따라 드래그를 호출하는 알고리즘을 사용하는 것입니다. 이것은 가장 가능성있는 대답 인 것처럼 보이지만,이 행동이 얼마나 정확하게 결정되는지에 대해 누구보다 나에게 통찰력을 줄 수 있다면, 나는 크게 감사 할 것입니다.
마지막으로 한 가지 : 마우스 커서를 너무 빨리 움직이면 드래그하는 객체가 '나가기'때문에 드래그 이벤트가 호출되어서는 안된다는 사실을 알고 있습니다. 그러나 내가 끌고있는 객체를 '놓아 두지'않을 때에도 마우스 커서를 얼마나 빨리 움직이는 지에 따라 드래그 할 호출 수가 줄어 듭니다.
p.s. 나는 D3을 사용하고 있지만이 문제는 일반적으로 D3에만 국한되지 않고 일반적으로 드래그하는 것과 관련이 있습니다 ...
감사합니다 너무.네가 한 말은 내가 의심했던 것. 나는 또한 당신의 코드에있는 것과 비슷한 테스트를 수행했다. 제거 된 이벤트 또는 일종의 비동기식 타이머 작동 ... 또는 D3 라이브러리의 기능 (말장난 없음)과 같은 것이 아니라 브라우저가 제어하는 것임을 확인하는 것이 좋습니다. – user2403232
글쎄, 내 생각 엔 W3을 보는데 도움이 될 것 같아. 그들 (5.7.5 드래그 앤 드롭 처리 모델에서)에 따르면 드래그 이벤트는 매 350ms마다 발생합니다. 그 이후에 더 많은 정보가 있습니다. 짧은 이야기는 분명히 내 질문에 답합니다. 다시 한번 감사드립니다. https://www.w3.org/TR/2016/REC-html51-20161101/editing.html#drag-and-drop-processing-model – user2403232