Javascript无法在IE中运行 - 事件和/或防止点击无法正常工作

时间:2013-04-23 13:50:35

标签: javascript internet-explorer preventdefault

是的我是一个菜鸟,但我已经尽力了,因为我已经尝试了所有我能想到的东西。这在IE以外的浏览器(包括IE9)中工作正常,我不确定函数是否失败或是否有效,但“返回错误”机制失败。我用手写出来试图解决它:

我的页面上有一个蓝色边框,顶部有一排文件夹标签。每个选项卡都与div中的内容相关联,其中显示为“隐藏”,除了一个。外部javascript会更改选项卡的外观,以使适当的选项看起来像在前面,并且还会更改框的内容。

    function changeText(e) {
    e = e || window.event;
    var content = document.getElementById('bb');
    var a1 = document.getElementById('a1');
    var a2 = document.getElementById('a2');
    var a3 = document.getElementById('a3');
    var c1 = document.getElementById('c1');
    var c2 = document.getElementById('c2');
    var c3 = document.getElementById('c3');
    var content1 = document.getElementById('content1');
    var content2 = document.getElementById('content2');
    var content3 = document.getElementById('content3');
    if (!e.target) {
         e.target = e.srcElement || document;
    }

    if (e.target.id == 'a1') {
        c1.className = 'bbta bbt';
        c2.className = 'bbtina bbt';
        c3.className = 'bbtina bbt';
        content1.className = 'display_block';
        content2.className = 'display_none';
        content3.className = 'display_none';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
    } else if (e.target.id == 'a2') {
        var head = document.getElementsByTagName("head")[0];  
        head.innerHTML += "<style type='text/css'>p.style11{color: #020;  text-decoration: none; font-weight: 300;} p.style11 a:link, p.style11 a:visited {color: #020;  text-decoration: underline; font-weight: 300;}p.style11 a:hover, p.style11 a:active {color: #0C436A;  text-decoration: none; font-weight: 300;}</style>";
        c1.className = 'bbtina bbt';
        c2.className = 'bbta bbt';
        c3.className = 'bbtina bbt';
        content1.className = 'display_none';
        content2.className = 'display_block';
        content3.className = 'display_none';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
        return false;
    } else if (e.target.id == 'a3') {
        var head = document.getElementsByTagName("head")[0];
        head.innerHTML += "<style type='text/css'>p.style11{color: #020;  text-decoration: none; font-weight: 300;} p.style11 a:link, p.style11 a:visited {color: #020;  text-decoration: underline; font-weight: 300;}p.style11 a:hover, p.style11 a:active {color: #0C436A;  text-decoration: none; font-weight: 300;}</style>";
        c1.className = 'bbtina bbt';
        c2.className = 'bbtina bbt';
        c3.className = 'bbta bbt';
        content1.className = 'display_none';
        content2.className = 'display_none';
        content3.className = 'display_block';
        if (e.preventDefault) {
           e.preventDefault(); // other older browsers
        } else {
            e.returnValue = false; // IE8 and below
        }
    }
}

window.onload = function () {
    var bluebox = document.getElementById ('bb_holder');
    var tab = bluebox.querySelectorAll('div.bbt');
    for (var i=0; i < tab.length; i++) {
        tab[i].addEventListener('click', changeText, false);
    }
};

0 个答案:

没有答案