我正在尝试为RPG制作库存系统。我希望用户能够从他们的库存中拖动一个项目并将其放入角色插槽并装备它。
this.dragItem = function(event) {
event.dataTransfer.setData("text", event.target.id);
}
我打算拖动的元素是
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem()'
}).appendTo('#inventoryWindowItems');
我使用dragItem()
来获取数据以及拖动项目时出现的第一个错误
未捕获的TypeError:无法读取属性&#39; dataTransfer&#39;未定义的
我添加了console.log(event)
来查看事件对象,并返回一个未定义的对象。我做错了什么?
答案 0 :(得分:0)
您没有将事件传递给该函数。试试这个:
$('<div>', {
class: 'HUDInventoryItem',
id: `${i}`,
draggable: 'true',
ondragstart: 'inventoryWindow.dragItem(event)'
}).appendTo('#inventoryWindowItems');