当前位置: 代码迷 >> HTML/CSS >> IE与firefox兼容JS跟CSS
  详细解决方案

IE与firefox兼容JS跟CSS

热度:253   发布时间:2012-09-08 10:48:07.0
IE与firefox兼容JS和CSS
    这几天都在调试IE与火狐的兼容,自己基本上在这方面没什么经验,就是在网上荡资料来解决问题,兼容样式、JS对象、报表等等。
     直接贴代码吧。
function client_OnTreeNodeChecked(e) {
        var obj;
        //判断浏览器
        if (!document.all) {
            e = window.event || e;
            obj = e.srcElement || e.target;
        } else {
           //IE
            obj = window.event.srcElement;
        }
       
            var treeNodeFound = false;
            var checkedState;
           
            if (obj.tagName == "INPUT" && obj.type == "checkbox") {
                var treeNode = obj;
                checkedState = treeNode.checked;
                do {
                    if (document.all) {
                        obj = obj.parentElement;
                    } else {
                          obj = obj.parentNode;
                    }
                } while (obj.tagName != "TABLE")
                var parentTreeLevel = obj.rows[0].cells.length;
                var parentTreeNode = obj.rows[0].cells[0];
                var tables;
                if(document.all){
                   tables = obj.parentElement.getElementsByTagName("TABLE");
                }else{
                   tables = obj.parentNode.getElementsByTagName("TABLE");
                }
                var numTables = tables.length
                if (numTables >= 1) {
                    for (i = 0; i < numTables; i++) {
                        if (tables[i] == obj) {
                            treeNodeFound = true;
                            i++;
                            if (i == numTables) {
                                return;
                            }
                        }
                        if (treeNodeFound == true) {
                            var childTreeLevel = tables[i].rows[0].cells.length;
                            if (childTreeLevel > parentTreeLevel) {
                                var cell = tables[i].rows[0].cells[childTreeLevel - 1];
                                var inputs = cell.getElementsByTagName("INPUT");
                                inputs[0].checked = checkedState;
                            }
                            else {
                                return;
                            }
                        }
                    }
                }
            }
        }
  相关解决方案