Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不要把重点放在td上_Javascript - Fatal编程技术网

Javascript 不要把重点放在td上

Javascript 不要把重点放在td上,javascript,Javascript,我正在为html所见即所得编辑器编写代码。我正在尝试修改编辑器中已存在的表。我有一个菜单,可以从中修改表中的行/列 插入新行/列后,我需要将焦点设置为新行/列。这个很好用 但是当我删除行/列时,我无法将焦点设置到附近的行/列 我正在将tabIndex属性设置为td以使其聚焦 tbody.removeChild(tr); //tr is the row to be deleted pre_tr.childNodes[td.cellIndex].tabIndex = 1; //pre_tr has

我正在为html所见即所得编辑器编写代码。我正在尝试修改编辑器中已存在的表。我有一个菜单,可以从中修改表中的行/列

插入新行/列后,我需要将焦点设置为新行/列。这个很好用

但是当我删除行/列时,我无法将焦点设置到附近的行/列

我正在将tabIndex属性设置为td以使其聚焦

tbody.removeChild(tr); //tr is the row to be deleted 
pre_tr.childNodes[td.cellIndex].tabIndex = 1; //pre_tr has the previous tr to be focused
pre_tr.childNodes[td.cellIndex].focus();
在此方面的任何帮助都将不胜感激。谢谢。

A区
<div style="height:900px; background-color:gray;"> DIV A  </div>
<br  />
<div style="height:300px; background-color:#ECECEC;"> DIV B  <input style="border:0px;   background-color:#ECECEC;" readonly="true" type="text" id="b"/> </div>

<script>
document.getElementById('b').focus();
</script>

B组 document.getElementById('b').focus();
希望它能起作用。。。 我不知道这是正确的方法

有些东西一无是处


并非所有元素都可以在每个浏览器中聚焦。另外,最好使用
pre_tr.cells[td.cellIndex]
,因为子节点可能包括空文本节点。td变量是什么?(是否引用刚刚删除的行中的单元格?)删除该行可能会更改单元格索引号。这种问题在循环中似乎很常见,在循环中,使用[i]来遍历不稳定的对象,例如节点列表,而不是稳定的数组。解决这个问题的一个诀窍是向后浏览列表,但我不知道您是否在循环中完成了所有这些。@kirilloid:但当我添加新行/列时,我可以将焦点设置为td。@stommepoes:我不是在循环中完成的。我得到了需要删除的tr,只需删除它。即使我使用固定的数字,比如1,td也不会聚焦。你可以专注于输入,但Gautham专注于通常不可聚焦的东西(表数据单元格),他能够做到这一点,因为他首先在元素上设置了tabIndex。是的,但我们将输入字段的bg颜色设置为与div的bg相同,并将boder=0设置为输入字段将消失。只需复制html文件中的代码并在浏览器中运行,您就可以理解。。。