Я хочу, чтобы с помощью клавиши со стрелкой можно было перемещаться по всем настраиваемым элементам на моей веб-странице. Поэтому, когда нажата клавиша "вниз", фокус должен перейти к фокусируемому элементу под текущим фокусированным элементом. Вы получаете идею для других клавиш со стрелками, когда нет переключаемого элемента фокусировки, фокус должен оставаться тем же.
Это то, что я получил до сих пор:
$(document).keydown(function(e){
if (e.keyCode == 37) { //left
var offset = $("*:focus").offset();
var allElements = $("#container").find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]');
var arr = jQuery.makeArray(allElements);
var topLeft = offset.left
var minus = topLeft;
var currentElement = $("*:focus");
for(var i = 0; i < arr.length; i++)
{
if ( (arr[i].offset().left < offset.left) // This doesn't work for some reason
&& ((offset.left - arr[i].offset().left) < minus))
{
currentElement = arr[i];
minus = offset.left - arr[i].offset().left;
topLeft = arr[i].offset().left;
}
currentElement.focus();
}
alert( "left pressed" );
return false;
}
// Other Keys
});
Идея заключалась в том, чтобы получить все элементы, способные фокусироваться, и выбрать выбрать тот, который подходит для стрелки и фокуса сдвига.
Я не могу заставить этот код работать (он содержит ошибку), и я не уверен, что он даже будет работать.
Thnx заранее
[EDIT]: Я думаю, я был немного расплывчатым. Я не только хочу идти влево и вправо, но и вверх и вниз.