我有一个:hover
状态的元素,我打电话给$.draggable()
。帮助器是一个克隆,因此当我拖动元素时,会创建一个克隆,然后将其拖动。但是,有些时候,我的可拖动元素上的:hover
状态没有关闭,我必须在元素返回其原始状态之前执行第二次mouseover / out而不拖动。这都是相当标准的东西,这是$.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;
}
现在,据我所知,没有办法用Javascript更改元素的:hover
状态。我的另一个选择是使用类和Javascript鼠标悬停/输出事件来模拟可控:hover
状态。但在我这样做之前,是否有任何已知的修复方法?这是一个常见的jQuery UI错误吗?我的搜索没有发现任何内容。
以下是问题的屏幕截图:
由于我的屏幕截图软件,你无法在那里看到鼠标光标,但它只是被拖出的元素。即使它没有突出显示的可拖动元素,也表示元素的:hover
状态已开启。不酷。