`:target`样式在IE11中表现得很奇怪

时间:2015-09-23 18:11:06

标签: css internet-explorer browser-history pseudo-class

我为div:target写了一些特殊的样式。点击<a href="#target">时Chrome,Firefox和 IE9 + IE11运行良好。现在我点击后退按钮(或&#34; javascript: history.go(-1)&#34;)和我的网址栏立即返回,但是IE拖延回到默认样式,有时它需要3-5 ,有时它根本不会更新 直到我点击F12并尝试检查有问题的元素(然后它会立即更新)。是什么给了什么?

更新:这似乎只发生在IE11中。每个人(本机安装)IE9没有问题。即使用IE11模拟IE9也会有问题。

http://jsfiddle.net/r1rqp1sc/2/

&#13;
&#13;
$('#hello').click(function(){
    history.go(-1);
});
&#13;
div {
    width: 100px; height: 100px;
    background: gray; color: white;
    cursor: pointer;
}
div:target { background: red; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#hello">Hello</a>
<div id="hello">Click here to go history:back()</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

所以这并没有回答这个问题,但似乎它与IE11在遍历历史后没有有效重绘有关。显然只是在该元素上添加或删除一个类将强制重绘该元素。

$('#hello').click(function(){
    history.go(-1);
    $(this).addClass('z').removeClass('z');
});