【发布时间】:2018-05-10 16:59:05
【问题描述】:
我目前正在尝试创建一个 Enyo.js 拖放应用程序。我本机使用 HTML5 拖放 API。我在我的“ondragstart”处理程序中不断遇到这个错误。我知道我正在正确调用事件处理程序,因为我正在调用该函数,但是,当我尝试设置“dataTransfer.setData()”时它会出错。我得到的错误是
TypeError: undefined is not an object (evalating '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));
}
【问题讨论】:
标签: javascript drag-and-drop enyo html5-draggable