我发现在IE 8-10刺激性的错误,防止被触发父母的活动状态。 看来,如果父元素的孩子是点击事件的目标父元素的激活状态不会被触发。
这是一个工作示例 。 如果你点击里面的文本<li>
元素不会改变颜色。 如果您单击内部<li>
比其他任何地方<p>
子元素会变成蓝色。
这是一个问题,因为它几乎呈现CSS:active伪状态IE无用的,如果该元素有任何孩子。
有没有人遇到过这个问题,甚至更好的找到一个解决方法呢?
我发现在IE 8-10刺激性的错误,防止被触发父母的活动状态。 看来,如果父元素的孩子是点击事件的目标父元素的激活状态不会被触发。
这是一个工作示例 。 如果你点击里面的文本<li>
元素不会改变颜色。 如果您单击内部<li>
比其他任何地方<p>
子元素会变成蓝色。
这是一个问题,因为它几乎呈现CSS:active伪状态IE无用的,如果该元素有任何孩子。
有没有人遇到过这个问题,甚至更好的找到一个解决方法呢?
这里有一个简单的解决方法:添加CSS规则的段落。
工作实例
CSS
ul { list-style: none; }
li { height: 50px; margin-bottom: 4px; background: red; }
li:active { background: blue; }
p:active { background: blue; height: 100%;}
你可以添加对另一个CSS选择<p>
标记,以便您
li:active { background: blue; }
会变成
li:active, li p:active { background: blue; }
我建议当你点击一个子元素,执行父的活动状态,你会使用JavaScript或jQuery的为。
我在IE11在这个偶然。 我在写使用这种方法的建议一拖N -下降的造型逻辑马丁 。
在我来说,我有一个排td
电池元件和使用:active
父tr
做这项工作的其他浏览器。 对于IE,我已经添加了一个CSS规则靶向细胞( tr.myRowClass > td:active
)和改良的期间执行我的自定义JS逻辑如果条件mousemove
细胞的事件处理程序:
if (style.getPropertyValue('cursor') == 'auto' || document.querySelectorAll(":active").length > 0) {
剩下的任务是找到目标元素: 确定鼠标指针的顶部在Javascript哪个元素