【发布时间】:2014-07-12 22:11:09
【问题描述】:
我有一个元素的 css 在:hover 下被更改。我还有一些改变元素高度的javascript。但是,如果 javascript 在:hover 状态处于活动状态时触发,则即使高度变化将元素从鼠标下方移出,状态也会保持不变。
此外,由于 javascript 是由元素内的点击事件触发的。这种效果也会出现在触摸屏上。
我想知道有没有办法解决这个问题。我可以强制浏览器重新计算悬停(或鼠标悬停等)吗?看着this question,我并不乐观。
我创建了一个fiddle 来演示这个问题。
我想如果最坏的情况发生在最坏的情况下,我可以通过 mouseenter、mouseleave 和 DOMAttrModified 类手动完成所有操作。但这听起来很痛苦,甚至可能在 javascript 方面代价高昂(我必须手动识别鼠标是否位于我的元素范围内)。
更新
好的,所以我真的不能碰DOMAttrModified,性能命中是massive。
【问题讨论】:
-
想要的效果是什么 - DIV 应该来回不断运动?
-
@YuriyGalanter 我正在创建的效果是在新搜索后关闭选项卡 - 搜索按钮包含在选项卡中。我的小提琴只是一个例子。
-
我认为目前除了一些 JS hack 之外没有可行的解决方案,有类似的问题 stackoverflow.com/questions/20886903/…
标签: javascript css hover mouseover