2

我有一个带有:hover我调用的状态的元素$.draggable()。助手是一个克隆,所以当我拖动元素时,会创建一个克隆,然后拖动它。但是,有时,:hover我的可拖动元素上的状态没有关闭,我必须在不拖动的情况下执行第二次鼠标悬停/移出,然后该元素将返回其原始状态。这都是相当标准的东西,这是$.draggable()电话:

$("#" + slot).draggable({
    helper: "clone",
    appendTo: "body",
    scope: "my_scope",
    start: function (event, ui) {
        // do some stuff when the element starts being dragged
    },
    stop: function () {
        // do some stuff when the element stops being dragged
    }
});

以下是该元素具有的所有 CSS 样式:

.inventory_item {
    width: 50px;
    height: 50px;
    background-color: #222;
    font-family: Courier;
    text-align: center;
    margin: 10px;
    line-height: 50px;
    font-size: x-large;
    opacity: 1;
    cursor: pointer;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-box-shadow: inset 0 0 5px #111;
    -moz-box-shadow: inset 0 0 5px #111;
    box-shadow: inset 0 0 5px #111;
}

及其:hover状态:

.inventory_item:hover {
     -webkit-box-shadow: inset 0 0 10px #555;
     -moz-box-shadow: inset 0 0 10px #555;
     box-shadow: inset 0 0 10px #555;
}

现在,据我所知,没有办法:hover使用 Javascript 更改元素的状态。那么,我的另一个选择是使用类和 Javascript mouseover/out 事件来模拟可控:hover状态。但在我这样做之前,是否有任何已知的修复方法?这是一个常见的 jQuery UI 错误吗?我的搜索没有发现任何东西。

这是问题的屏幕截图:

问题图片

由于我的屏幕截图软件,您看不到那里的鼠标光标,但它就在被拖出的元素上方。即使它不在突出显示的可拖动元素上方,该元素的:hover状态也是打开的。不酷。

4

0 回答 0