2017-12-04 10 views
0

私は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()を使用し、私はアイテムをドラッグしたときに私が得たandthe最初のエラーが

Uncaught TypeError: Cannot read property 'dataTransfer' of undefined

だった私はconsole.log(event)を追加しましたイベントオブジェクトを表示し、未定義のオブジェクトを返します。私は間違って何をしていますか?

答えて

0

イベントを関数に渡していません。試してみてください:

$('<div>', { 
    class: 'HUDInventoryItem', 
    id: `${i}`, 
    draggable: 'true', 
    ondragstart: 'inventoryWindow.dragItem(event)' 
}).appendTo('#inventoryWindowItems'); 
関連する問題