2013-08-06 4 views
0

У меня есть div, который содержит iframe (который в свою очередь имеет некоторые элементы привязки) и тег привязки (кнопка закрытия). Во время навигации с использованием клавиатуры div следует сфокусировать, если кнопка «закрыть» является последним активным элементом.Фокусировка div на основе последнего активного элемента

Но для меня фокус всегда идет к iframe, который находится внутри div. Я хотел сосредоточиться на div.

<a href="javascript:" class="clicker">click to open</a> 

<div id="wOverlay" style="height: 307px; width: 645px; display: none;"> 
<span style="position:absolute;left:-1500px;top:0;width:1;height:1;overflow:hidden;">Beginning of dialog content</span> 
<iframe scrolling="no" frameborder="0" src="https://www.google.com" title="Quick Look - Opens a simulated dialog"> 
</iframe> 
<a id="overlayClose" class="MultiBoxClose" href="javascript:void(0)">Close</a> 

Сценарий:

$('.clicker').bind('click',function(){ 


    $('#wOverlay').attr('tabIndex',-1); 
    $('#wOverlay').show().focus(); 

}); 

$(document).bind('keydown', function(e){ 
e = e || window.event; 

if(e.keyCode == 9) { 
    if($(document.activeElement).hasClass('MultiBoxClose')){ 

        $('#wOverlay').focus(); 

    } 
} 
}); 

Просьба предоставить любое решение

+1

образец ссылка: http://jsfiddle.net/JBJ9P/ – user1153484

+0

Простите, но как один «поместить фокус на' div'»? 'div''s не могут получить фокус, не так ли? – FixMaker

ответ

1

Divs по умолчанию не может получить фокус, только те элементы, и ссылки. Однако в последних браузерах вы можете назначить фокус, явно установив свой tabindex.

Проверить это http://api.jquery.com/focus/

Смежные вопросы