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實現。但事情是我無法滾動面板滾動條時焦點在樹視圖下。根本不知道。需要幫助。