動的に作成されたイメージに ondragstart ハンドラを追加しようとしています:
var image = new Image();
image.src = "https://www.filepicker.io/api/file/JhJKMtnRDW9uLYcnkRKW";
image.onload = function(event){
this.ondragstart = drag(event);
divImage.appendChild(this);
};
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
ただし、次のエラーが表示されます: Uncaught TypeError: Cannot call method 'setData' of undefined
dom 経由でロードした静的イメージでこれを試してみましたが、正常に動作しますが、動的に生成されたイメージが動作しないのはなぜですか? 何らかの理由で、ドラッグ機能で、動的に作成された画像の場合、ev に dataTransfer オブジェクトが含まれていませんか? 誰かが理由を知っていますか?
これは私がやろうとしていることです: http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop ただし、javascript を介して画像を動的に作成し、ondragstart ハンドラーを追加できるようにしたいそれ。
ありがとう、