Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Jquery 在拖放时更改css值_Jquery_Css_Jquery Ui_Jquery Ui Draggable_Droppable - Fatal编程技术网

Jquery 在拖放时更改css值

Jquery 在拖放时更改css值,jquery,css,jquery-ui,jquery-ui-draggable,droppable,Jquery,Css,Jquery Ui,Jquery Ui Draggable,Droppable,我需要把一个带有自己css值的span放到一个div中,在拖放时,div将接受被拖放span的css值。 这是我的代码,但我需要这样做,无论删除的跨度是多少,div都将接受该值 这是我的html $(文档).ready(函数(){ $('.drag1、.drag2、.drag3').draggable({containment:'document',revert:true}); $('#drop').dropable({hoverClass:'border,bgRed',tolerance:'

我需要把一个带有自己css值的span放到一个div中,在拖放时,div将接受被拖放span的css值。 这是我的代码,但我需要这样做,无论删除的跨度是多少,div都将接受该值

这是我的html

$(文档).ready(函数(){
$('.drag1、.drag2、.drag3').draggable({containment:'document',revert:true});
$('#drop').dropable({hoverClass:'border,bgRed',tolerance:'pointer',accept:'.drag1、.drag2、.drag3'});
});
.drag1{
背景色:#900;
填充:4px10px;
光标:指针;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:12px;
颜色:#FFF;
}
.drag2{
背景色:#036;
填充:4px10px;
光标:指针;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:12px;
颜色:#FFF;
}
.drag3{
背景色:#060;
填充:4px10px;
光标:指针;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:12px;
颜色:#FFF;
}
.边界{
边框:虚线1px#999999;
}
bgRed先生{
背景色:#900;
}
#下降{
高度:200px;
宽度:200px;
填充:10px;
边缘顶部:10px;
}

红头
蓝色标题
黑头

我不确定是否有您可以监听的丢弃事件,但您可能可以使用一些逻辑和鼠标来模拟一个丢弃事件。其想法是,让您的div监听删除,检查删除的跨度类型,并根据删除的跨度对div应用正确的类

编辑:我刚把它从我的脑海中拉出来,可能不完全有效,但这是编码乐趣的一部分。看看什么有效,什么无效

var objToDrop = $('#div');

objToDrop.on(mouseover, function()
{
    objToDrop.on(mouseup), function() 
    {
        if(objToDrop.children().attr('class') === 'class1')
        {
            objToDrop.addClass('class1');
        }
        else if(objToDrop.children().attr('class') === 'class2')
        {
            objToDrop.addClass('class2');
        }
        else if(objToDrop.children().attr('class') === 'class3')
        {
            objToDrop.addClass('class3');
        }
    }
});

如果样式仅在类中,请使用drop事件执行以下操作:

$('#drop').droppable({ 
    hoverClass: 'border, bgRed', 
    tolerance: 'pointer', 
    accept: '.drag1, .drag2, .drag3',
    drop: function (ui, event) {
        $(this).addClass($(ui.draggable).attr('class'));
    } 
});

你可以用这个做任何你想做的事。”这是drop元素,“ui.draggable”是drop函数中的Dragable元素。

您的Dropable具有drop事件

$('#drop').droppable({
    accept: '.drag1, .drag2, .drag3',
    drop: function (event, ui) {
                    //$(this) is your #drop 
                    // ui.draggable is your draggable object
                    //the next line removes any previous class and adds the class of your draggable to your droppable 
        $(this).attr("class", "").addClass( $(ui.draggable).attr("class") );
    }
 });

听起来像是正确的自由思想者,但我对这一点还不熟悉,如果我现在有一把小提琴或一些代码,我将不胜感激非常感谢这一点-它工作得非常完美,我将能够深入研究您给我的代码,并在应用程序的其他部分更改我需要更改的其他元素,我试图邀请,但它不让我。这实际上是我下面给出的答案的副本。唯一的区别是删除现有的drop类。欢迎使用堆栈溢出!提供您在这里使用的代码将真正帮助我们。然而,恐怕我不太清楚你的问题是什么。也许你可以更新它来提供更多的细节,在这里打个问号也会很有帮助。