0
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」というエラーをキャッチしました。

4

0 に答える 0