You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery UI Droppable中activeClass与hoverClass不生效问题排查

jQuery UI Droppable hoverClass/activeClass 背景不显示的解决办法

核心问题:CSS选择器优先级不足

你的#area2是ID选择器,权重远高于.startmoving、.reached这类普通类选择器。即使jQuery UI成功给#area2添加了这两个类,类里的背景样式也会被ID选择器的权重压制,导致无法生效。

解决方法

提升类选择器的权重,让其能覆盖ID选择器的样式优先级。修改你的CSS代码,将.startmoving和.reached改为结合ID的选择器:

#main {
    float: left;
}

.sub {
    width: 100px;
    height: 100px;
    border: 2px solid black;
    margin: 5px;
}

#area1, #area2{
    width: 400px;
    height: 400px;
    border: 3px solid goldenrod;
    margin: 5px 20px;
    float: left;
}

/* 修改这里,结合ID提升权重 */
#area2.startmoving {
    background: darksalmon;
}

#area2.reached {
    background-color: darkorange;
}

额外说明

  • 不需要额外添加.ui-droppable相关的复合选择器,直接通过ID+类的组合就能获得足够高的权重。
  • 你的drop函数使用$(this).css("background", "gray")是行内样式,权重最高,会覆盖所有类样式,这部分是正常的,和hover/active状态不冲突。

内容的提问来源于stack exchange,提问作者hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:25:22