TD里onclick事件创建的input焦点问题

reners 2007-06-17 03:37:18
如下代码:
<table><tr><td onclick="this.innerHTML='<input>';">

点我

</td></tr></table>

为什么点击input输入框里面的不能正常的输入文字,并且如果还有内容的话会自动清空..

谢谢,这是什么原因?
...全文
312 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbhbhbhbhb1021 2007-06-18
  • 打赏
  • 举报
回复
<table><tr><td onclick="if(this.childNodes[0].tagName!='INPUT'){this.innerHTML='<input>';}">

点我

</td></tr></table>
For_suzhen 2007-06-17
  • 打赏
  • 举报
回复
楼上正解
shenba 2007-06-17
  • 打赏
  • 举报
回复
那就分开两个吧,估计是要把输入的结果也要保存起来的
一个显示"点我" 一个显示输入框 这样 会清晰些
<table><tr><td onclick="this.nextSibling.style.display = '';this.style.display='none';">
点我
</td>
<td style="display:none"><input type="text" onblur="this.parentElement.previousSibling.style.display='';this.parentElement.style.display='none';"/></td>
</tr></table>
jiewenxu 2007-06-17
  • 打赏
  • 举报
回复
input包含在td里,也会触发onclick
所以代码应该是这样的

<table><tr><td onclick="this.innerHTML='<input>';this.onclick='';">

点我

</td></tr></table>
reners 2007-06-17
  • 打赏
  • 举报
回复
谢谢一楼的,对我的目的来说,这样写之后,td只能点一次,第二次点击之后就不显示了。
因为我如果点击除td以后的元素的话,它会隐藏td里面的内容。当我再次点击td它的事件函数就清除了,还是达不到效果。

我也测试了的..

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧