Drag/Drop 事件 return 未定义
Drag/Drop events return undefined
我正在尝试为角色扮演游戏制作库存系统。我希望用户能够将物品从他们的库存中拖放到角色槽中并装备它。
this.dragItem = function(event) {
event.dataTransfer.setData("text", event.target.id);
}
我打算拖动的元素是
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem()'
}).appendTo('#inventoryWindowItems');
我使用 dragItem()
获取数据,当我拖动项目时遇到的第一个错误是
Uncaught TypeError: Cannot read property 'dataTransfer' of undefined
我添加了 console.log(event)
来查看事件对象,它 returns 是一个未定义的对象。我做错了什么?
您没有将事件传递给函数。试试这个:
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem(event)'
}).appendTo('#inventoryWindowItems');
我正在尝试为角色扮演游戏制作库存系统。我希望用户能够将物品从他们的库存中拖放到角色槽中并装备它。
this.dragItem = function(event) {
event.dataTransfer.setData("text", event.target.id);
}
我打算拖动的元素是
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem()'
}).appendTo('#inventoryWindowItems');
我使用 dragItem()
获取数据,当我拖动项目时遇到的第一个错误是
Uncaught TypeError: Cannot read property 'dataTransfer' of undefined
我添加了 console.log(event)
来查看事件对象,它 returns 是一个未定义的对象。我做错了什么?
您没有将事件传递给函数。试试这个:
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem(event)'
}).appendTo('#inventoryWindowItems');