Раскрывающийся список не открывается при использовании фокуса и фокуса - PullRequest
0 голосов
/ 29 июня 2011

У меня есть два раскрывающихся списка с одним и тем же классом, назовем это раскрывающимся списком, и я делаю эту скрипку с раскрывающимися списками с помощью jquery:

$('.dropdown').focus(function () {
    //Fiddle with this dropdown
}).focusout(function () {
    //Fiddle with this dropdown
});

Когда я переключаюсь между двумя раскрывающимися списками с одним и тем же классом (раскрывающийся список),раскрывающийся список открывается не сразу, вместо этого он получает фокус, и мне приходится снова нажимать на него, чтобы открыть его.Кажется, это как-то связано с тем, что я включаю и отключаю опции в списке, когда возлюсь с этим.Есть ли обходной путь?

(я попытался использовать размытие вместо фокусировки, и возникла та же проблема)

Спасибо!

Редактировать:

jsfiddle

JS:

$('.dropdown').focus(function () {
    var selectListIndex = $(this).attr('selectedIndex');
    $('.dropdown').each(function() {
        $('option:nth-child(' + (selectListIndex + 1) + ')', $(this)).attr('disabled', '');
    });
}).focusout(function () {
    var selectListIndex = $(this).attr('selectedIndex');
    $('.dropdown').not($(this)).each(function() {
        $('option:nth-child(' + (selectListIndex + 1) + ')', $(this)).attr('disabled', 'disabled');
    });
});

HTML:

<select class="dropdown">
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select>
<select class="dropdown">
    <option>1</option>
    <option>2</option>
    <option>3</option>
</select>

1 Ответ

0 голосов
/ 29 июня 2011

попробуйте

$('.dropdown').focus(function () {
    $('.dropdown').focusout() 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...