jQuery ui droppable hoverClass activeClass

时间:2013-08-07 18:14:00

标签: jquery jquery-ui drag-and-drop droppable jquery-hover

我有这段代码

$( "div.column_14_int" ).droppable({
  accept: "div.element-container",
  activeClass: "drop-cl",    
  hoverClass: "drag-over",
  tolerance: 'pointer',
  greedy: true,

    drop: function( event, ui ) {
   $(ui.draggable).appendTo( this );
    },

}); 

工作正常,但是当开始拖动项目时,activeClass被添加到droppable并工作。

当可拖动项目超出droppable时,hoverClass被添加到droppable,但它不起作用:droppable元素仍然具有activeClass颜色。

可拖动项目

<div class='element-container delete_el w4-4'>\
<div class='element-handler'>\
<a href='#edit-element' class='edit revs-edit-element'>Edit</a>\
<a href='#del' class='del-element'>X</a>\
</div><div class='element'>\
<span class='element-icon'>\
<img src='http://placehold.it/36x36&text=icon'></span>\
<span class='element-name'>Element name</span></div>\
<textarea rows='4' cols='20' class='text-shortcode'>[revs_flexslider page='home']    
</textarea>\
</div>"

可投放

 <div class='column_14 column_del column '><div class='top-bar'><div class='left
 controllers'><a href='#decr' class='decr'>-</a><span class='sz'>1/4</span><a    
 href='#incr' class='decr'>+</a></div><div class='del-column'><input type='button'  
 class='del' value='X'></div></div><div class='pb-element-container column_14_int 
 column_control connectedSortable'></div><textarea rows='4' cols='20' class='text-
 shortcode text-shortcode-col'>[rev-column whidt='14']</textarea></div>

但我不知道为什么你需要回答

1 个答案:

答案 0 :(得分:0)

您应该做的第一件事是检查您的控制台,看看您的悬停和活动类是否实际添加到对象中。如果是,则问题很可能与您的CSS特异性有关。

要修复,请:

  1. 重新排列CSS声明,以便在拖放之前出现drop-cl(假设它们具有相同的CSS特性),或者
  2. 通过添加ids / classes / etc(或!important)
  3. 来更改拖动的特异性

    这是CSS Specificity

    上的精彩文章