Javascriptを使用して要素を非表示にする際に問題があります。Javascript IE9のキャッシュ問題?
私は、ページが完全にロードされると、EventHandlerは次のようになり、いくつかのJSを呼び出すためのEventHandlerを使用しています:myFuncという中
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() {
}
() - 私は、特定のIDを持つDIV要素を取得する機能"testdiv"と言って、それを隠す:.style.display = "none"; JSの行全体は次のようになります。
document.getElementById("testdiv").style.display = "none;
これはIE6-IE8および他のすべての一般的なブラウザでは魔法のように動作しますが、IE9に隠されたdivのありえないが、私は、ページを最初に表示する場合。私がページを再編集すると、divは非表示になります!では、この場合の問題は何ですか? :)
この場合、通常はattachEventメソッドが機能します。 – duri
答えはThxですが、クォークモードではないDoctypeは次のようになります:<!DOCTYPE html PUBLIC " - // W3C // DTD XHTML 1.0 Strict // EN" "http://www.w3.org/TR/xhtml1 /DTD/xhtml1-strict.dtd " – Patrick
EDIT:ああ申し訳ありませんが、StrictがQuirks-Modeであることがわかりました:) – Patrick