2017-04-24 1 views
-1

나는 FocusPanel의 위젯 인 DataGrid에서 요소를 끌어다 놓으려고합니다. 대상은 DialogBox에 포함 된 다른 FocusPanel의 위젯 인 다른 DataGrid입니다. onDragStart 메서드는 정상적으로 작동합니다. 디버거 (Firefox 53.0)에서 dataTransfer 객체가 DragStartEvent의 setData 메소드로 채워져 있는지 확인할 수 있습니다. 대상 측면에서 onDrop 메서드가 올바르게 호출됩니다. 문제는 dataTransfer 객체가 null이고 DropEvent의 getData 메서드가 오류를 반환한다는 것입니다. 왜 dataTransfer 객체가 null인지 이해가 안됩니다.GWT 2.8 dropevent datatransfer null

답변

0

MDN "드래그 작업"에서 "Performing a Drop"단락을 읽었을 때 대답을 찾았습니다. event.preventDefault()가 onDrop 함수의 끝에 위치하는 js 코드 스 니펫이 있습니다. 이것은 자바 코드가 onDrop() 메소드의 시작 부분에서 preventDefault()를 호출하고 있기 때문에 당연한 것이었다. preventDefault()의 호출을 메소드의 끝으로 이동 시켰습니다. dataTransfer는 null이 아니며 getData()는 올바른 정보를 반환합니다.