Zen_Sam 2011-03-21 18:22
浏览 509
已采纳

单击<tr>的某个td 将td中的innerHTML改为<span><input onblur=""/></span> input调用不了事件



/******
上面的是用c:each循环出来的,想点击行的某个列 将某个列改为<span><input name="vouchQty${s.count}" id="vouchQty${s.count}" onblur="addQuantity();" /></span>  我描述的不清楚 但想一定有好心人帮忙!
*****/

/*
这个是js 我想动态给input加事件  可是我传过去的值是alert("object:"+checkQty); 弹出一看是下面的图
*/

大哥们 给个意见… 帮个忙!谢谢…

  • 写回答

2条回答 默认 最新

  • cheng888qi 2011-03-22 01:11
    关注

    从截图看出,你的程序是在IE下进行测试的
    在你目前的代码上有两种方式可以获得值:
    [code="html"]

    window.onload = function() { var row = document.getElementById("tr_0"); editRow(row); } function editRow(trObj) { for(var i = 0; i < trObj.cells.length; i++) { trObj.cells[i].onclick = function () { this.innerHTML = "<input type='text' id='checkQty" + i + "' value='"+ this.innerText + "' />"; document.getElementById('checkQty' + i).focus(); document.getElementById('checkQty' + i).onblur = function() { editCellOnBlur(this.value); } //方式一 }; } } function editCellOnBlur(obj) { alert(obj); alert(event.srcElement.value); //在你原来的代码上,直接使用event对象 }

    1 2


    [/code]

    注意:attachEvent方法,是IE的独有的,event对象各浏览器下的实现不一样,不能做到浏览器兼容。

    所以还是推荐用一些框架来完成,即可以实现对大部分浏览器的兼容,也能方便的实现功能。例如:jquery

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘