【发布时间】:2011-05-20 17:19:42
【问题描述】:
我在使用 Javascript 隐藏元素时遇到问题。
当页面完全加载时,我正在使用 Eventhandler 调用一些 JS,Eventhandler 看起来像这样:
if (window.addEventListener) {
window.addEventListener("click", _onclick_handler, false);
document.addEventListener("DOMContentLoaded", _onload_handler, false);
window.addEventListener("resize", _onresize_handler, false);
window.addEventListener("keyup", _onkeyup_handler, false);
}
else if(document.attachEvent) {
document.attachEvent('onclick', _onclick_handler);
window.attachEvent('onload', _onload_handler);
window.attachEvent('onresize', _onresize_handler);
document.attachEvent('onkeyup', _onkeyup_handler);
}
function _onclick_handler() {
}
function _onload_handler() {
myFunc();
}
function _onresize_handler() {
}
function _onkeyup_handler() {
}
在 myFunc()-function 中,我得到一个具有特定 id 的 div 元素,比如说“testdiv”,然后使用以下命令隐藏它: .style.display = "none"; JS的整行是这样的:
document.getElementById("testdiv").style.display = "none;
这在 IE6-IE8 和所有其他常见浏览器中就像一个魅力,但在 IE9 中,如果我第一次查看页面,div 不会隐藏。如果我刷新页面,则 div 将被隐藏!那么这种情况下有什么问题呢?!
感谢您的帮助:)
【问题讨论】:
标签: javascript caching hide internet-explorer-9 onload