2016-06-26 4 views
1

Я делаю приложение на основе веб-страницы, которое будет иметь только навигацию на клавиатуре (джойстике). Я использую tabindex, но мне также нужно отключить фокус на адресной строке, строке поиска или чем-либо еще за пределами страницы.Отключить фокус за пределами страницы

Это приложение будет работать только на одном конкретном устройстве, так что это нормально (на самом деле необходимо) для отключения некоторых функций.

Возможно ли это?

ответ

1

Это была крутая проблема для решения проблемы.

EDIT: Добавлен обратный [shift] + [tab].

Попробуйте этот сценарий, (working Fiddle here):

var firstInputObj; 
var lastInputObj; 

$("input").each(function(){ 
    if($(this).attr("tabIndex")=="1"){ 
     firstInputObj=$(this); 
    } 
    lastInputObj=$(this); 

}); 
$(firstInputObj).focus(); 

// tab (forward) 
$(lastInputObj).on("keydown",function(e){ 
    if(!e.shiftKey && e.which==9){ 
     e.preventDefault(); 
     $(firstInputObj).focus(); 
    } 
}); 

// Shift tab (backward) 
$(firstInputObj).on("keydown",function(e){ 
    if(e.shiftKey && e.keyCode == 9) { 
     e.preventDefault(); 
     $(lastInputObj).focus(); 
    } 
}); 
+1

Отлично! Большое спасибо! – user6515939