页面:
<table width="100%" id="tbBaseAuthorUsed" border="0">
<tr></tr> </table>
<INPUT title="点击添加列" onclick="addAuthorcell();return false;" type="image" src="images/lus.gif">function addAuthorcell()
{
var table=document.getElementById("tbBaseAuthorUsed");var newCell=table.rows[table.rows.length-1].insertCell();
newCell.innerText="中国"
newCell.className="color05";
var e = document.getElementById("tbBaseAuthorUsed");
for(var j=0; e.rows && j<e.rows.length; j++)
{
for(var k=0; e.rows(j).cells && k<e.rows(j).cells.length-1; k++)
{
e.rows(j).cells(k).className="color03";
}
}}
<table width="100%" id="tbBaseAuthorUsed" border="0">
<tr></tr> </table>
<INPUT title="点击添加列" onclick="addAuthorcell();return false;" type="image" src="images/lus.gif">function addAuthorcell()
{
var table=document.getElementById("tbBaseAuthorUsed");var newCell=table.rows[table.rows.length-1].insertCell();
newCell.innerText="中国"
newCell.className="color05";
var e = document.getElementById("tbBaseAuthorUsed");
for(var j=0; e.rows && j<e.rows.length; j++)
{
for(var k=0; e.rows(j).cells && k<e.rows(j).cells.length-1; k++)
{
e.rows(j).cells(k).className="color03";
}
}}
解决方案 »
- 非常经典的JQUERY教程--锋利的jquery(高清析版)
- js 或者JQUERY 让一行英文标题字数超出的话超出部分变成....
- 在线急等 jquery高手请指教
- 还是我 继“jquery 如何 载入html页面到div中”问题
- 请问如何用javascript控制z-index的值?
- javascript如何设置超链接文字的font属性?
- 居中的问题
- 如何在窗口弹出来的时候将浏览器最大化?不是全屏哦
- 高分求帮助: window.open不成功的原因?怎样确保window.open可以打开新的窗口?
- 如何做到跳出一个框?
- 已经有了一个字串变量str1="abcsef" ,如何将它写到<textarea>中光标停留处去??
- 正则表达式:简单的日期判定。mm/dd/yyyy
{
alert()
}
<tr></tr> </table>以下代码是我自动生成列的代码:
<script>
var table=document.getElementById("tbBaseAuthorUsed");var newCell=table.rows[table.rows.length-1].insertCell();
newCell.innerText="中国"
newCell.className="color05";
newCell.attachEvent("ondblclick",aa)
newCell=table.rows[table.rows.length-1].insertCell();
newCell.innerText="中国"
newCell.className="color05";
newCell.attachEvent("ondblclick",aa)
function aa()
{
alert()
}
</script>
e.rows(j).cells(k).attachEvent("ondblclick",bb);但是我需要同时添加这两个事件。出现的问题是:只响应单击事件,请问如何处理?谢谢
是不是aa函数里面有alert()?怎么读取单击列的内容?
event.srcElement
newCell.innerText="中国"
newCell.className="color05";
newCell.onclick=function abc(){
alert(this.innerText)
}
newCell.innerText="中国"
newCell.className="color05";
newCell.onclick=function abc(){
alert(this.innerText)
}
这样就可以阿还有,table的td没有双击事件哦,所以不会触发
便于修改
var newCell=table.rows[table.rows.length-1].insertCell();//newCell.innerText="</td>"+document.all("txtBaseAuthorName").value;
//newCell.className="bg01 color05 table05 B"; var e = document.getElementById("tbBaseAuthorUsed");
var j=0;//只有一行
var i=e.rows(j).cells.length-1;
var temp=EncodeString(document.all("txtBaseAuthorName").value);
document.all("txtBaseAuthorName").value=temp;
newCell.innerHTML="<a href='#//"+i+"/"+temp+"'>"+temp+"</a>";// onclick='BaseAuthorClick(event.srcElement);return false;' ondblclick='BaseAuthorDbClick(event.srcElement);return false;'
e.rows(0).cells(e.rows(j).cells.length-1).attachEvent("onclick",BaseAuthorClick);//e.rows(j).cells(e.rows(j).cells.length-1).attachEvent("ondblclick",BaseAuthorDbClick);
for(j=0; e.rows && j<e.rows.length; j++)
{
for(var k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)//e.rows(j).cells.length-1
{
e.rows(j).cells(k).className="bg01 color03";
}
}
//-----------------------------end for 添加列
{
if(event.srcElement=="[object]")
return false;
else
{
var e = document.getElementById("tbBaseAuthorUsed");
//step 1,计算出原来的列号
for(j=0; e.rows && j<e.rows.length; j++)
{
for(k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)
{
if(e.rows(j).cells(k).className=="bg01 color05 table05 B")
{
//保存当前修改的数据--------------------------------------------中间用|隔开
arr=saveBaseAuthor();
if(arr==false)
return false;
BaseAuthor[k]=arr.split("$")[0]; //
sqlBaseAuthor[k]=arr.split("$")[1]; //
e.rows(j).cells(k).innerHTML="<a href='#//"+k+"/"+document.all("txtBaseAuthorName").value+"'>"+document.all("txtBaseAuthorName").value+"</a>";//修改
//-------------------------------------------------------------end for save
break;
}
}
}
//step 2,-------------------------------------------------------------------------------------------
//取得当前参数
var temp=event.srcElement;
document.all("txtBaseAuthorName").value=temp;
var arr=new Array();
temp=document.all("txtBaseAuthorName").value;
arr=temp.split("/");
var i=arr.length-1;//alert("id:"+arr[i-1]+"内容:"+arr[i]);
//step 3,从数组中取得此列数据----------------------------------------------------数组中保存的格式:中间用|隔开
getBaseAuthor(BaseAuthor[arr[i-1]]);
//step 4,颜色切换-----------------------------------------------------------------切换
var m=arr[i-1];//id,即列号
for(j=0; e.rows && j<e.rows.length; j++)
{
for(k=0; e.rows(j).cells && k<e.rows(j).cells.length; k++)
{
if(k==m)
e.rows(j).cells(k).className="bg01 color05 table05 B";
else
e.rows(j).cells(k).className="bg01 color03";
}
}
//-------------------------------------------------------------------end for 颜色切换,切换
}
document.all("txtBaseAuthorName").focus();
return false;
}