В настоящее время я пытаюсь создать приложение Enyo.js Drag & Drop. Я использую HTML5 Drag and Drop API изначально. Я продолжаю сталкиваться с этой ошибкой в своем обработчике ondragstart. Я знаю, что правильно вызываю обработчик событий, потому что я вызываю функцию, однако при попытке установить «dataTransfer.setData()» возникает ошибка. Ошибка, которую я получаю,
TypeError: undefined не является объектом (оценка «inEvent.dataTransfer.setData»)
Я не понимаю, почему, пожалуйста, помогите.
name: "ObjectBox",
kind: Control,
components: [
{
content: "Things im trying to move/listen to"
},
{
kind: Square,
ondragstart: "dragStart"
},
{
kind: Circle,
events: {
ondragstart: "dragStart"
}
},
{
kind: DropTarget,
ondrag: "drag",
ondrop: "drop"
}
]
Вышеприведенный код показывает, как я устанавливаю объекты (объекты имеют возможность перетаскивания: true) и как я обрабатываю события.
Ниже кода показано, как я обрабатываю события
dragStart: function(inEvent) {
console.log("Started");
console.log(inEvent);
inEvent.dataTransfer.setData("text", inEvent.target.id); // this where I get error
},
drag: function(inEvent) {
console.log("Dragging");
inEvent.preventDefault();
},
drop: function(inEvent) {
console.log("Dropped");
inEvent.preventDefault();
var data = inEvent.dataTransfer.getData("text");
inEvent.target.appendChild(document.getElementById(data));
}