【发布时间】:2014-07-02 20:03:56
【问题描述】:
由于 webkit 错误(我认为),有一种情况是我卡住了:hover psuedoclass。你可以在这里看到这个:http://jsfiddle.net/zFk2V/3/
拖放后,前一个元素在 Chrome 中保持:hover 状态。
如果您将鼠标悬停在卡住的项目上,悬停状态就会清除。
我认为应该可以使用事件触发、DOM 回流触发或其他一些诡计来清除元素的悬停状态。
我试过了:
$('[draggable]').trigger('mouseenter')
$('[draggable]').trigger('mousemove')
$('[draggable]').trigger('mouseout')
$('[draggable]').trigger('mouseleave')
$('[draggable]').trigger('blur')
$('[draggable]').trigger('hover')
$('[draggable]').toggleClass('selected')
$('[draggable]').toggleClass('selected') // twice to reset to original
$('[draggable]').height(true) // should trigger a DOM reflow
...以及所有这些的不同组合,但没有成功
我什至试过这个,即使不可接受,我也确信它会起作用:
$('[draggable]').hide()
setTimeout(function(){
$('[draggable]').show()
}, 10)
这也不起作用。 :(
在所有情况下,:hover 状态都会持续存在。您可以通过 chrome 检查器和视觉效果来验证这一点。
我很想知道是否有为此提交的错误,或者是否有其他人听说过。我发现的只是this other question 在谈论它,而答案是大锤。
【问题讨论】:
-
我将此添加为 webkit 错误:bugs.webkit.org/show_bug.cgi?id=134555。希望有一个解决方案来清除卡住的问题:仍然悬停:)