2016-10-22 50 views
0

我目前正在做一個Web應用程序,可以通過調整大小拖放圖像。 但是當我在#dropzone上附加克隆的元素時,我無法再選擇它。不能選擇我的克隆可拖動div

因此,這裏是我的代碼:

$(document).ready(function() { 

    $(".draggable").draggable({ 
     helper: 'clone', 
     cursor: 'move' 
    }); 
    $("#dropzone").droppable({ 
     drop: function (event, ui) { 
      var canvas = $(this); 
      if (!ui.draggable.hasClass('object')) { 
       var canvasElement = ui.helper.clone(); 
       canvasElement.addClass('object'); 
       canvasElement.removeClass('draggable ui-draggable ui-draggable-handle ui-draggable-dragging') 
       canvas.append(canvasElement); 
       canvasElement.draggable({ 
        containment: '#garden', 
        stack:  canvasElement 
       }).find("img").css({ 
        'width': 50, 
        'height': 50 
       }).resizable({ 
        minWidth: 50, 
        minHeight: 50, 
        containment:'#garden' 
       }); 
       canvasElement.css({ 
        left:  (ui.position.left), 
        top:  (ui.position.top), 
        position: 'absolute', 
        zIndex: 3     
       }); 
      } 
     } 
    }); 

    $(".object").click(function(event, ui) { 
     alert("WOOOOO!"); 
     $(this).hide(); 
    }); 
}); 

.object我的點擊功能無法正常工作。我不知道爲什麼。請幫忙。

回答

0

如果你希望能夠保持拖克隆的元素,你應該將下面的代碼添加到您的#dropzone滴功能:

canvasElement.draggable({ 
    cursor: 'move' 
}); 

這是因爲當$(「拖動」)拖動。在執行新的canvasElement但並不存在,這也是爲什麼你的點擊事件不工作,所以還添加以下到您的#dropzone滴功能:如果你想,當你放下做一些

canvasElement.click(function(event, ui) { 
    alert("WOOOOO!"); 
}); 

走出dropzone看看這個帖子:jQuery draggable, event when dropped outside of parent div

(檢查http://codepen.io/ptcardoso/pen/xErxJm

+0

我希望發生的是控制克隆的元素像躲,轉變作風,重新大小,顯示警報的#dropzone。但我的代碼在點擊功能不起作用。我試着添加你的建議,但沒有任何反應。 –

+0

你是否檢查我的codepen澄清?點擊和拖動事件在克隆元素 –

+0

上工作哦,沒關係。現在有道理。謝謝你,佩德羅先生。 –