Свойство TabIndex в chrome/ff и jquery не работает вместе?

Я использую jquery 1.6 и хочу выполнить этот код в своем iframe:

$(document).bind('keydown', function (e) {
    if (e.which == 9) {
        var tabbie = $(e.target).attr('tabIndex');
        if (tabbie) {
            var el = $("*[tabIndex='" + (parseInt(tabbie) + 1) + "'");
            if (el.length) {
                // do standard action
            }
            else {
                e.preventDefault();
                window.top.focus();
                return false;
            }
        }
    }
});

Как видите, что он должен делать: При нажатии клавиши tab посмотреть, есть ли элемент со следующим значением tabindex. Если да, то все хорошо, пусть браузер идет на это. Если нет, то сосредоточьтесь на родительском элементе iframe.

Это работает в IE8, но в chrome/FF это не так: вы не можете ничего вкладывать, даже если в html есть tabindexes:

<div class="row fl-controls-left">
    <input id="username" name="username" tabindex="1" type="text" value="" size="25" autocomplete="false"/>
</div>
<div class="row fl-controls-left last">
    <input id="password" name="password" tabindex="2" type="password" value="" size="25" autocomplete="off"/>
</div>
<div class="actions rounded-bottom">
    <a href="javascript:void(window.top.location.href = 'http://localhost/')" tabindex="4">Forgot?</a>
    <div class="row btn-row">
        <input name="submit" value="Aanmelden" tabindex="3" type="submit" />
        <input name="reset" value="leegmaken" tabindex="1000" type="reset" />
    </div>
</div>

Кто-нибудь знает, почему?

(Зачем мне нужен этот код? Чтобы ответить на мой другой вопрос Tabindex для пропуска iframe но не содержание внутри)

Ваше здоровье!


person Tominator    schedule 19.09.2011    source источник