【问题标题】:onfocus() fails on a cloned elementonfocus() 在克隆元素上失败
【发布时间】:2012-04-11 07:17:48
【问题描述】:

我有一个表,我可以在其中通过克隆添加行。但是,单击单元格时,我无法使用 onFocus 清除文本。代码片段(我正在学习 Javascript,因为我在 2 周前把这个丢给了我):

function AddRow() 
{
    var mytable=document.getElementById("newSystem");
    var rowClone=document.getElementById("sysrow").cloneNode(true);

    rowClone.cells[0].innerHTML='<input type="text" name="SysName[]"  value="host.myhouse.com" onFocus="this.value=\'\';this.onfocus=\'\';" />';

    myTable.appandChild(rowClone);
}

派生克隆的原始行是:

<tr  id="sysrow">
<td> 
    <input type="text" name="SysName[]" value="host.myhouse.com" onFocus="this.value='';this.onfocus='';" />;
</td>
</tr>

原版的 onFocus 效果很好。将 onFocus 插入克隆脚本后,它什么也不做(没有插入新行)。当我删除 onFocus 时,会插入克隆的行,但聚焦时不会清除文本。

我有什么问题吗,或者 onFocus 对克隆不起作用。

【问题讨论】:

  • onfocus 是脚本中其他地方定义的函数吗?你能发布那个代码吗?
  • this.onfocus= ?...这个语句有什么目的 inside 有一个 onfocus??? 的内联属性事件处理程序? 987654325@ 在onclick 内部是否有意义?

标签: javascript html html-table clone onfocus


【解决方案1】:

也许没有新行,因为您在myTable.appandChild(rowClone); 处有错字?

其实应该是myTable.appendChild(rowClone);

【讨论】:

  • 抱歉打错字了..我在机器之间手动重新输入;有问题的机器在专用网络上。如果我删除 onFocus 语句,则行插入有效,但当您选择单元格时,示例输入保持在原位。使用 onFocus 不会插入新行。
猜你喜欢
  • 2013-04-16
  • 2016-02-01
  • 2021-01-13
  • 1970-01-01
  • 2014-11-17
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多