2
我有一个面板内的树形视图。树视图有父母和孩子。当我按下键盘上的任何字符时,焦点需要转到相应的父母或孩子。我试图谷歌解决方案,但我找不到任何。字符重点在asp.net树视图
我有一个面板内的树形视图。树视图有父母和孩子。当我按下键盘上的任何字符时,焦点需要转到相应的父母或孩子。我试图谷歌解决方案,但我找不到任何。字符重点在asp.net树视图
你将需要使用一些JavaScript来实现你想要的东西。
您需要查看keyboard events以查看哪个键被按下,然后focus是正确的元素。
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实现。但事情是我无法滚动面板滚动条时焦点在树视图下。根本不知道。需要帮助。