| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 661 人关注过本帖
标题:[求助] 我在FF浏览器下不能实现和IE一样的页面编辑效果
只看楼主 加入收藏
pucb
Rank: 2
等 级:论坛游民
帖 子:290
专家分:10
注 册:2006-8-1
结帖率:66.67%
收藏
 问题点数:0 回复次数:0 
[求助] 我在FF浏览器下不能实现和IE一样的页面编辑效果

问题描述:
我想要用ajax对产品列表中的信息进行编辑, 编辑效果如下:
第一次点击产品列表的单元格,单元格的内容处于选择状态,
第二次点击的时候可以对选定的单元格内容进行编辑,(具体效果请从附件下载,用IE浏览)
以上所描述的效果在IE下能实现,但在FF浏览器下很让我失望,我没有办法实现同样的效果,

请JS高手帮助我在IE/FF下都能实现的同样效果, 我QQ:79501973 在线等待!!!

以下是附件原码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><style>*{font-size:10pt;}</style>
<body>
<div align="center">第二次单击时可以编辑<br /></div>

<table width="500" border=1 align="center" cellpadding="3" id="quote">
<tr>
<td width="296" onclick="tcl(this,0,0)"><span>产品名称1</span></td>
<td width="180" onclick="tcl(this,0,1)"><span>580</span></td>
</tr>
<tr><td onclick="tcl(this,1,0)"><span>产品名称2</span></td>
<td onclick="tcl(this,1,1)"><span>1800</span></td></tr>
</table>
<p>&nbsp;</p>
<div align="center">单击就可以编辑<br /></div>
<table width="500" border=0 align="center" cellpadding="5" cellspacing="1" bordercolor="#CCCCFF" bgcolor="#CCCCFF">
<tr><td width="201" bgcolor="#FFFFFF"><span onclick="ck(this,1)">产品名称1</span></td>
<td width="276" bgcolor="#FFFFFF"><span onclick="ck(this,1)">580</span></td>
</tr>
<tr><td bgcolor="#FFFFFF"><span onclick="ck(this,1)">产品名称2</span></td>
<td bgcolor="#FFFFFF"><span onclick="ck(this,1)">1800</span></td>
</tr>
</table>

<div align="center"><br /> <br /></div>
<hr />
<div id="objInfo" style="color:blue;"></div>
<div id="msgInfo" style="color:red;"></div>

<script language="JavaScript">
function getCurVersion(){ //检测浏览器类型
var isIEPP = "ie"; //浏览器判断默认是IE

if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=='Netscape')?1:0;
var isIE=(navigator.appName.indexOf('Microsoft')!=-1)?1:0;
}

if (isNN){ isIEPP = "ff"; }
return isIEPP;
}

// 单元格选择函数
function tcl(o,r,c){
/*
if(getCurVersion()=="ff"){ // 如果是ff浏览器
var span=o.childNodes[0];
var spanObj=span.childNodes[0].nodeName;
if(spanObj=="INPUT" || spanObj=="input"){return;}
//document.all.objInfo.innerText=spanObj;
ck(span,0);

//msgInfo.innerText= '';
}else{
*/
var td=document.all.quote.rows[r].cells[c];
var span=td.childNodes[0];
var spanObj=span.childNodes[0].nodeName;
if(spanObj=="INPUT" || spanObj=="input") return;
objInfo.innerText=spanObj;

var oVal=msgInfo.innerText;
var word = document.selection.createRange();
var st = document.body.createTextRange();
st.moveToElementText(td);
st.select();

var word = document.selection.createRange();
if(word.text.length>0){
msgInfo.innerText = word.text;
if(oVal==word.text){
ck(span,0);
msgInfo.innerText= '';
}else{
//msgInfo.innerText = '';
}
}
/* } */// end else

}

/*-----------------------------------------------------------*/

var Utils = new Object();

Utils.isTime = function(val){
var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/;
return reg.test(val);
}

Utils.fixEvent = function (e){
var evt = (typeof e == "undefined") ? window.event : e;
return evt;
}

Utils.srcElement = function(e){
if (typeof e == "undefined") e = window.event;
var src = document.all ? e.srcElement : e.target;
return src;
}

/*-----------------------------------------------------------*/

function ck(obj,s){
var oval;
// if(getCurVersion()=="ff"){
// oval = obj.textContent; //ff下获取值方法
// else{
oval = obj.innerText;
// }
var tag = obj.firstChild.tagName;
if(typeof(tag) != "undefined" && tag.toLowerCase() == "input"){ return;}
// 创建文本框
var inpt= document.createElement("INPUT");
inpt.style.width = (obj.offsetWidth + 10) + "px" ;
obj.innerHTML="";
obj.appendChild(inpt)
inpt.focus();
inpt.value = oval;

inpt.onkeypress = function(e) {
var evt = Utils.fixEvent(e);
var obj = Utils.srcElement(e);
if (evt.keyCode == 13){ inpt.blur();return false; }
if (evt.keyCode == 27){ obj.parentNode.innerHTML = oval; }
}

//失去焦点
inpt.onblur = function(e){
if (inpt.value.length > 0){ obj.innerHTML = "<span>"+inpt.value+"</span>"; }else{ obj.innerHTML = oval; }
}

}

</script>

</body>
</html>

fN7UwVxZ.rar (2.13 KB) [求助] 我在FF浏览器下不能实现和IE一样的页面编辑效果


搜索更多相关主题的帖子: 浏览器 效果 页面 
2007-09-21 09:36
快速回复:[求助] 我在FF浏览器下不能实现和IE一样的页面编辑效果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015359 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved