【发布时间】:2015-08-26 19:22:54
【问题描述】:
我有一个带有动态添加行的大型 HTML 表。
表格具有标准结构(包括thead、tbody 和tfoot)。
在此表中,有可编辑的 TD(具有 class "editable" 并包含 contenteditable div)和不可编辑的 TD(没有“可编辑”类并且没有包含一个div)。
我正在尝试创建一个自定义箭头键导航,允许我从一个可编辑的 TD 跳转到下一个或上一个(就像在 Excel 表格中一样)。
为了对此进行测试,我使用了以下示例,但这只是部分工作,即警报显示正确,但我无法对相应的 div 执行任何操作(例如更改其背景或添加文本等)。
谁能告诉我我在这里做错了什么?
我的 jQuery(已准备好文档):
$(document).keydown(function(e){
switch(e.which){
case 37: // left arrow
alert('test left');
$(this).closest('td').prevUntil('td.editable').find('div').text('test');
break;
case 39: // right arrow
alert('test right');
$(this).closest('td').nextUntil('td.editable').find('div').text('test');
break;
default: // exit for other keys
return;
}
e.preventDefault(); // prevent default action
});
我的 HTML(示例行):
<tr>
// ...
<td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
<td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
<td></td> <!-- non-editable -->
<td></td> <!-- non-editable -->
<td class="editable"><div contenteditable="true"></div></td> <!-- editable -->
// ...
</tr>
【问题讨论】:
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
标签: javascript jquery arrow-keys