日期:2014-05-17  浏览次数:20730 次

javascript无休止调用
今天做个很常见的小应用:
1.var tr=table.insertRow(table.rows.length);
var td1=tr.insertCell(0);
td1.align="center";
var td2=tr.insertCell(1);
td2.align="center";
//添加内容
td1.innerHTML="<input type='checkbox' id='orderBill"+i+"' name='orderBillSel' value="+excelContent[i].orderBillId+"/>";
td2.innerHTML="<input type='text' onfocus='getValues(this);' onblur='changeColor(this);' value='"+excelContent[i].orderBillId+"' readonly='readonly' />";
2.js方法
//当前采购单号被选中时,右侧显示响应商品明细
function getValues(obj){
obj.style.background="#00ff00";
}
//失去焦点时当前采购单变色
function changeColor(obj){
obj.style.background="#ffffff";
}
问题:当执行td2中的<input>文本框获得焦点时,总是无休止地执行文本框获得焦点时的方法:getValues(obj)
请教出现这种情况是什么原因呢???

------解决方案--------------------
<input type="text" onfocus="this.value = '聚焦'" />


就是聚焦的时候 运行一次。