function drop(ev)
{
var len=$("#div2 img").length;
if(len == 0)
{
paste(ev);
}
else if(len == 1){
var $dialog = $('<div></div>')
.html("You need to drag another the image.")
.dialog({
autoOpen: false,
title: "ALERT",
modal: true,
buttons: {
Yes: function() {
$(this).dialog("close");
var list=document.getElementById("ClonedElementX");
list.parentNode.removeChild(list);
alert(len)
if( len==1){
alert("hi")
paste(ev);
}
},
Cancel: function() {
$(this).dialog("close");
}
}
});
function paste(ev){
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
var clone = document.getElementById(data).cloneNode(true);
clone.id='ClonedElementX';
ev.target.appendChild(clone);
document.getElementById("ClonedElementX").width="180";
document.getElementById("ClonedElementX").height="180";
var imagesrc = document.getElementById("ClonedElementX").src;
}
これは私のコードです。最初の画像を貼り付けても問題ありません。2番目の画像をドラッグしようとしたときに最初の画像がある場合、モーダルダイアログボックスが表示される必要があります。はいをクリックすると、最初の画像をクリアする必要があり、以前にドロップした2番目の画像をドロップする必要があります。その中で、「Uncaught type error:Cannot call the method 'clonenode' of null」というエラーをキャッチしました。