首頁 > web前端 > js教程 > 主體

js修改table中Td的值(定義td的雙擊事件)_javascript技巧

WBOY
發布: 2016-05-16 17:44:10
原創
1661 人瀏覽過

客戶需求至上。
這次是更改的程式碼,去掉了“確定”,“取消”按鈕。變更為雙擊事件,使用者按ESC鍵,取消變更。

複製程式碼 程式碼如下:

//為每個Td加上雙擊事件


//為每個Td加上雙擊事件
function ReWritable()
{
var tbmian=document.getElementById("tbmain");
//循環,為每行每列添加雙擊事件,但是,第一行(thead)與最後一行(tfoot)不加。
for(var i=1;i{
for(var j=0;j{
tbmain.rows[i].cells[j].ondblclick=TdDoubleClick;
}
}
}
//定義td的雙擊事件,為其添加文字框,使用使用者可以輸入。
function TdDoubleClick()
{
//先判斷是不是該方格已經存在文字框,如果存在,則傳回,不重複新增文字方塊。如果不存在,則添加。
var tdcag=document.getElementById("tdcag");
var tdid=null;
var txtid=null;
var curtd=window.event.srcElement;
if(tdcag>if(tdcag! =null)//已經存在,返回。
{
return;
}
//不存在,則添加
tdid=window.event.srcElement;
tdtxt=tdid.innerText;
tdtxt=Trim( tdtxt);
var str="
";
str ="";
str ="
";
tdid.innerHTML=str;
//使文字方塊獲得焦點。
document.getElementById("txtId").focus();
var ctr=document.getElementById("txtId").createTextRange();
ctr.collapse(false);
ctr. select();
}
//移除字串前後的空格。
function Trim(str)
{
return str.replace(/(^s*)|(s*$)/g, "");
}
//定義KeyPress按下時的事件,如果是ESC鍵,則取消更改,恢復為更改前的值。
document.onkeypress = function EscKeyPress()
{
if(event.keyCode==27)
{
CancelTdChanged();
return;
}
}
//取消更改,
function CancelTdChanged()
{
var tdInitValue=document.getElementById("tdInitValue");
var td=tdInitValue.value. =document.getElementById("tdcag").parentNode;
tdid.innerText=Trim(tdtxt);
}
//確定更改,
function ChangeTdText()
{
{
var txtId=document.getElementById("txtId");
if(txtId==null)
{
return;
}
var tdid=document.getElementById("tdcag"). parentNode;
tdid.innerText=Trim(txtId.value);
return;
}
其它程式碼,與之前相同。只是取消了對錶的Thead與Tfoot的更改。 複製程式碼

程式碼如下:

















13








thead,thead,thead

tfoot,tfoot,tfoot
11
12
21
22
23
31
32

33
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板