//转成编辑
function changeToEdit(obj){
     if(!inputItem ) {
          inputItem = document.createElement('input');
          inputItem.type = 'text';
          inputItem.name='edit';
          inputItem.style.width = '100%';
     }
     inputItem.value = obj.innerText; // 将该单元格的数据文本读到控件上
     obj.innerHTML = ''; // 清空单元格的数据
     obj.appendChild(inputItem);
     inputItem.focus();
     activeItem = obj;
}//双击时文本变成文本框
 function typeDbclick(obj){
beforeValue = obj.innerHTML;
    if(event.srcElement.tagName.toLowerCase() == "td"){
        if(!inputItem){
            inputItem = document.createElement("input");
            inputItem.type = "text";
            inputItem.name="typeName";
            inputItem.style.width = "100%";
        }
        changeTypeToText();
        changeToEdit(event.srcElement);
    }else{
        event.returnValue = false;
        return false;
    }
}//双击时文本变成文本框
 function urlDbclick(obj,id){
urlId = id;
beforeValue = obj.innerHTML;
    if(event.srcElement.tagName.toLowerCase() == "td"){
        if(!inputItem){
            inputItem = document.createElement("input");
            inputItem.type = "text";
            inputItem.name="urlName";
            inputItem.style.width = "100%";
            
        }
        changeUrlToText();
        changeToEdit(event.srcElement);
    }else{
        event.returnValue = false;
        return false;
    }
}//单击时文本框变成文本
document.onclick = function(){
    if(event.srcElement.parentNode == activeItem || event.srcElement == activeItem){
        return;
    }
    else{
     urlAfterValue = document.getElementById("edit").value;//获得编辑域名之后的值
     changeTypeToText(activeItem);
changeUrlToText(activeItem);
    }
}
其中的createElement 、appendChild 、event.srcElement.tagName 要兼容IE ,FF,google 应该怎么样改?

解决方案 »

  1.   

    用jquery吧,
    createElement  -------  $("<div></div>") 
    appendChild  --------   $(selector).append(e);
      

  2.   

    jquery 我没用过啊。但是知道jquery是好用写。
      

  3.   

    +1 浏览器兼容的确是很费神的事 jquery比较省心另外,createElement 应该是通用的 appendChild 最好换成innerHtml的写法,事件处理函数中获取事件源对象function eventHandler(e){
        var e = event || window.event;
        var o = e.target || e.srcElement;
        ……
    }
      

  4.   

    学jquery 比你去记这些兼容规则简单多了
      

  5.   

    那我用jquery,应该怎么改能呢?麻烦大虾帮忙改下
      

  6.   

    document.onclick = function(event){
    event = event || window.event;
     var srcElement = event.srcElement || event.target;
      
    }
      

  7.   

    这个inputItem = document.createElement('input');
    改成inputItem = $("<div></div>"); ??    obj.appendChild(inputItem);
    改成obj.$(selector).append(inputItem); ??
      

  8.   

    上面应该这样写吧。
    inputItem = $("<input type='text' name='typeName' style='width:100%'>");
      

  9.   

    jquery语法:
    http://www.visualjquery.com/