我在面板中有一个树视图。树视图有父项和子项。当我按下键盘上的任何字符时,焦点需要转到相应的父母或孩子。我尝试使用谷歌解决方案,但我找不到任何解决方案。
答案 0 :(得分:1)
您需要使用一些JavaScript来实现您的目标。
您需要查看keyboard events以查看正在按下的键,然后focus正确的元素。
答案 1 :(得分:0)
document.onkeyup = function keyPress(e) {
wkey = e.which ? e.which : window.event.keyCode;
var ch = String.fromCharCode(wkey).trim();
var chlower = ch.toLowerCase().trim();
var foo = [];
var fo = [];
var k = 0;
var lastword;
var looping = [];
var lastwordforkeypress;
$('#ctl00_mainContentPlaceHolder_channelTreeView table').each(function(l, table) {
looping[l] = $(table).text().trim();
if (looping[l].indexOf(ch) === 0 || looping[l].indexOf(chlower) === 0) {
lastwordforkeypress = looping[l];
}
});
$('#ctl00_mainContentPlaceHolder_channelTreeView table').each(function(i, table) {
foo[i] = $(table).text().trim();
if (foo[i].indexOf(ch) === 0 || foo[i].indexOf(chlower) === 0) {
fo = $('#keystroke').html().split(',');
if (fo[k].trim() == foo[i].trim()) {
k = k + 1;
}
else {
$('#keystroke').html($('#keystroke').html() + foo[i] + ',');
lastword = foo[i].trim();
var keystroke = $('#keystroke').html()
if (keystroke.indexOf(ch) === 0 || keystroke.indexOf(chlower) === 0) {
$('table').select().css({ backgroundColor: 'white' });
$(table).select().css({ backgroundColor: 'orange' });
if (lastwordforkeypress == lastword) {
$('#keystroke').html('');
k = 0;
}
return false;
}
else {
$('#keystroke').html('');
k = 0;
$('#keystroke').html($('#keystroke').html() + foo[i] + ',');
$('table').select().css({ backgroundColor: 'white' });
$(table).select().css({ backgroundColor: 'orange' });
return false;
}
}
}
});
}
我是通过Jquery实现的。但问题是,当焦点在树视图上向下时,我无法滚动面板滚动条。根本不知道。需要帮助。