【发布时间】:2013-02-15 14:36:21
【问题描述】:
据我所知,这是一个特定于 IE 的问题,我在 IE9 中也遇到过。
如果您查看此 jsFiddle:http://jsfiddle.net/dvrcthewrld/uaP3v/17/ 您可能会发现它在框架中运行良好。也就是:只有当modal可见时,点击offset div或者overlay div都会触发history.back事件,导致modal消失。
<div id="dbw" name="dbw" class="dumbBoxWrap">
<div class="dumbBoxOverlay" onclick="history.back()" >
</div>
<div class="vertical-offset" onclick="history.back()" >
<div class="dumbBox" onclick="event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true)
;">
<p>Content goes here</p>
</div>
</div>
</div>
但是,如果您完整查看它,而不是在一个框架中: http://fiddle.jshell.net/uaP3v/18/show/ 然后你会发现 IE9 适当地改变了 url,但是 modal 并没有像预期的那样消失。无论是通过单击 div 还是使用浏览器的后退按钮触发后退事件,都会发生这种情况。
这似乎是 IE9 中的一个错误,我也假设是早期版本。有没有适当的方法来处理这个问题而无需大幅修改我的代码?
【问题讨论】:
标签: javascript internet-explorer onclick internet-explorer-9 browser-history