拖放时交换元素也带有className

问题描述

|| 每当一个元素拖放到另一个元素上时,交换两个元素。我使用了Vadim的JQuery插件,并且可以正常工作,但是我对交换元素的高度,宽度,位置和浮点数有疑问。 如果className及其属性不同,则交换的元素不适合。我也应该交换className还是只交换某些属性。 *为了更好的理解,请查看我的演示*     

解决方法

在您的示例中,元素的行为与基于您应用于它们的css规则的行为完全相同。您可以在stop事件中使用javascript添加或删除类或重新计算高度/宽度:
$(\"#foo\").swappable({
    ...
    stop: function(event,ui) {
        alert(\"drug: \"+ ui.item[0].id + \",drop: \"+ event.originalEvent.target.id); 
    }
    ...

});
    ,通常,iu项目具有可以在初始对象中传递的方法 在您的情况下,您可以使用停止 每次结束交换时调用stop 例: $(function(){
 $(\'.row,.column\').swappable({
        items:\'.class_1,.class_2\',cursorAt: {top:-20},stop: function(event,ui) { alert(\"hi\") }
          });
 $( \'.class_1,.class_2\' ).addClass( \"ui-widget\" );
}); 代替警报只是添加或删除所需的类,可能可以使用toogle方法 告诉我这是否是您要寻找的东西8)