//window表示当前窗口的信息,加载完成绑定事件 //使用此方法可以减少html掺杂js代码 window.onload=function (){ var fruitTable=document.getElementById("id01"); //调用onmouseover方法,不用小括号,否则会返回值 var trEvery=fruitTable.rows; for (var i=0;i<trEvery.length;i++){ var tr=trEvery[i]; tr.onmouseover=changeBgColor; tr.onmouseout=clearBgColor; var cells=tr.cells; var priceTD=cells[1]; priceTD.onmouseover=shouHand; } } //添加背景颜色 functionchangeBgColor(){ //event表示当前发生的事件 //event.srcElement表示事件源 //event.srcElement.tagName标签名称 //alert(event.srcElement); if (event){ var td=event.srcElement; //获取父元素 var tr=td.parentElement; tr.style.backgroundColor="green"; tr.style.color="red"; /* * * */ } } //去除背景颜色 functionclearBgColor(){ if (event){ var td=event.srcElement; var tr=td.parentElement; //还原为原来的颜色 tr.style.backgroundColor=""; tr.style.color=""; } } //当鼠标悬浮在单价单元格,显示手势 functionshouHand(){ if (event&&event.srcElement&&event.srcElement.tagName==="TD"){ var td=event.srcElement; //cursor表示光标形式 td.style.cursor="pointer"; } }
//window表示当前窗口的信息,加载完成绑定事件 //使用此方法可以减少html掺杂js代码 window.onload=function (){ var fruitTable=document.getElementById("id01"); //调用onmouseover方法,不用小括号,否则会返回值 var trEvery=fruitTable.rows; for (var i=1;i<trEvery.length-1;i++){ var tr=trEvery[i]; tr.onmouseover=changeBgColor; tr.onmouseout=clearBgColor; var cells=tr.cells; var priceTD=cells[1]; priceTD.onmouseover=shouHand; //绑定鼠标单价点击 priceTD.onclick=editPrice;
} } //更改单价 functioneditPrice() { if (event){ var priceTD=event.srcElement; //判断如果是属于文本节点,判断是否有子节点, if (priceTD.firstChild&&priceTD.firstChild.nodeType===3) { //表示设置或者获取当前节点的内部文本 var oldPrice = priceTD.innerText; //表示设置当前节点的内部html priceTD.innerHTML = "<input type='text' size='4'/>"; //第一个子节点 var input = priceTD.firstChild; if (input.tagName === "INPUT") { input.value = oldPrice; //选输入框内部文本 input.select(); //失去焦点后操作 input.onblur=updatePrice; }
} } } //失去焦点,更新单价 functionupdatePrice(){ if (event){ var input=event.srcElement; var newPrice=input.value; //input节点的父节点表示 var priceTD=input.parentElement; priceTD.innerText=newPrice; //更新当前行的小计 updateXiaoJi(priceTD.parentElement); } } //更新小计 functionupdateXiaoJi(tr){ if (tr&&tr.tagName==="TR"){ var tds=tr.cells; var price=tds[1].innerText; var count=tds[2].innerText; var xiaoJi=parseInt(price)*parseInt(count); tds[3].innerText=xiaoJi; var fruitTable=document.getElementById("id01"); //更新总计 var rowCount=fruitTable.rows.length; var totalCount=0; var rows=fruitTable.rows; for (var i=1;i<rowCount-1;i++){ var tr=rows[i]; var xj=parseInt(tr.cells[3].innerText); totalCount=totalCount+xj; } rows[rowCount-1].cells[1].innerText=totalCount; } } //添加背景颜色 functionchangeBgColor(){ //event表示当前发生的事件 //event.srcElement表示事件源 //event.srcElement.tagName标签名称 //alert(event.srcElement); if (event){ var td=event.srcElement; //获取父元素 var tr=td.parentElement; tr.style.backgroundColor="green"; tr.style.color="red"; } } //去除背景颜色 functionclearBgColor(){ if (event){ var td=event.srcElement; var tr=td.parentElement; //还原为原来的颜色 tr.style.backgroundColor=""; tr.style.color=""; } } //当鼠标悬浮在单价单元格,显示手势 functionshouHand(){ if (event&&event.srcElement&&event.srcElement.tagName==="TD"){ var td=event.srcElement; //cursor表示光标形式 td.style.cursor="pointer"; } }
删除指定与限制键盘输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
//判断输入的内容 functioncheckContent(){ if (event&&event.srcElement&&event.srcElement.tagName==="INPUT"){ var kc =event.keyCode; //0-9对应编码为48-57 //backspace:8 //enter: 13 if ((kc>=48&&kc<=57)||kc===8||kc===13){ //不满足取消输入 event.returnValue=true; }else{ event.returnValue=false; } if (kc===13){ updatePrice(); } } }