一些 jQuery 有点问题。我正在尝试实现一个类似于 excel 导航方式的数据输入网格,使用向上和向下箭头来遍历列。我有在加载时运行的脚本,为每个文本框分配一个 rel 属性和唯一 ID,如下所示:
id="gScore_0" class="gScoreTB" rel=0
id="gScore_1" class="gScoreTB" rel=1
id="gScore_2" class="gScoreTB" rel=2
……等等。然后,我有以下处理程序:
$('.gScoreTB').keydown(function (e) {
var keyCode = e.keyCode || e.which,
arrow = { left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
case arrow.up:
var str = $(this).attr('rel');
str = parseInt(str) - 1;
$("#gScore_" + str).focus();
break;
case arrow.down:
//Set focus to the same cell next row
var str = $(this).attr('rel');
str = parseInt(str) + 1;
$("#gScore_" + str).focus();
break;
}
});
理论是该函数从 ID 中加/减 1 并将焦点设置到该文本框。这一切都很好用。
问题是我想改变焦点并选择框中的任何文本。.select()
除了在文本框上使用之外,我还尝试了各种组合,.focus()
但它没有发生。我怀疑这与事件有关,但我不是 jQuery 天才。请帮忙!谢谢
PS如果有人认为我所做的很荒谬,我总是愿意接受批评/改进:-)