2017-12-19 28 views
0

드롭 - 드래그하면 데이터를 설정할 수 있습니다 시작되면전송 JSON 드래그와 dataTransfer.setData을 사용하고 내가 드래그 앤 HTML5로 (대신 문자열) JSON 데이터를 전송하기 위해 노력하고있어

드롭 :

e.originalEvent.dataTransfer.setData("application/json", {x: 10}); 
}, 

그리고
e.originalEvent.dataTransfer.getData("application/json"); 

드래그가 삭제

그러나 무엇이든지 내가 그 항상 문자열을한다. 실제 객체를 어떻게 전송할 수 있습니까? DEMO

답변

0

JSON은 일련의 개체 (예 : 일련 번호가 지정된 개체의 데이터)의 문자열 표현입니다. 이것이 문자열 결과를 얻는 이유입니다.

직렬화 된 객체에 고유 식별자 (id)가있는 속성이 있으면 json 구조에서 해당 ID를 읽고 원본 객체 (예 : id로 원본 객체 얻기)를 참조 할 수 있습니다.

ID로 HTML5 요소를 가져 오려면 JavaScript getElementById 기능을 사용할 수 있습니다. https://www.w3schools.com/jsref/met_document_getelementbyid.asp

+0

정말 내 질문에 대답을 연결할 수 없습니다. 죄송합니다. 내 질문에 대한 드래그 앤 드롭 및 문자열 대신 json/개체를 전송하는 방법입니다. –

+0

최대한 멀리 귀하의 질문에, HTML5 위치 내에서 요소를 끌어 놓기 싶습니다. 요소에 ID가 있습니다. 드래그 앤 드롭은 이벤트를 만듭니다. 이벤트는 "메시지"를 전송합니다. 이 메시지는 설명에 JSON 구조 (문자열)입니다. 예, 객체 드래그로 인해 발생했지만 이벤트는 객체 자체가 아니라 메시지를 전송합니다. 소스 객체의 식별자 (json 구조체에 추가해야하는)를 어떻게 추출하여 나중에 소스 객체를 찾을 수 있는지 설명했습니다. 하지만 어쩌면 나는 완전히 당신의 질문에 대해 오해하고 있습니다; 그렇다면 usecase 정보를 더 추가하십시오. –