Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Dropable是否已经包含另一个可拖动元素(jQuery UI)_Jquery_Jquery Ui_Html_Jquery Ui Draggable_Jquery Ui Droppable - Fatal编程技术网

检查Dropable是否已经包含另一个可拖动元素(jQuery UI)

检查Dropable是否已经包含另一个可拖动元素(jQuery UI),jquery,jquery-ui,html,jquery-ui-draggable,jquery-ui-droppable,Jquery,Jquery Ui,Html,Jquery Ui Draggable,Jquery Ui Droppable,我有一个可拖放的div元素,当一个可拖放的元素被拖离它时,它会消失。使用out事件可以很好地工作。我遇到的问题是,当可拖放设备上有两个可拖动的元素时。当我拖动一个元素时,可拖放元素仍将淡出。如何检查可拖放设备上是否已经存在另一个可拖动元素,以便取消淡入淡出效果。我希望仅当最后一个可拖动元素被取下时,可拖放元素才会褪色 $(".droppable-element").droppable({ tolerance: 'touch', out:function(event,ui){

我有一个可拖放的div元素,当一个可拖放的元素被拖离它时,它会消失。使用out事件可以很好地工作。我遇到的问题是,当可拖放设备上有两个可拖动的元素时。当我拖动一个元素时,可拖放元素仍将淡出。如何检查可拖放设备上是否已经存在另一个可拖动元素,以便取消淡入淡出效果。我希望仅当最后一个可拖动元素被取下时,可拖放元素才会褪色

$(".droppable-element").droppable({
    tolerance: 'touch',
    out:function(event,ui){

       /*Need to first check if there is another draggable element in the droppable before fading out.*/
            $(this).fadeOut('slow', function(){
                // Animation complete.

             });                
 }
});

可拖放元素是可拖放的子元素(子元素)吗?当它们被拖走的时候,它们会被移除吗?在这种情况下,您可以这样做:

if ( $(this).find(".draggable-element").length == 0 )
    $(this).fadeOut('slow', function(){
更新:如果我理解正确,您将一个元素拖到可拖放位置(可能是拖到了?),然后再拖另一个元素,并将其删除。在这种情况下,您可以跟踪哪些(或至少有多少)拖拽物越过了您的可拖放设备,但没有熄灭

$(".droppable-element").droppable({
    tolerance: 'touch',
    over:function(event,ui) {
        var howMany = $(this).data("howMany") || 0;
        $(this).data("howMany", howMany+1);
    },
    out:function(event,ui){
        var howMany = $(this).data("howMany") || 1;
        $(this).data("howMany", howMany-1);
        if ( howMany == 1 )
            $(this).fadeOut('slow', function(){
                // Animation complete.
            });
    }
});

不,它们是分开的,否则我可以使用has选择器