Jquery - событие стрелки вкладки IOS и выбор опции - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть 2 раскрывающихся списка, например:

<select id="first">
     <option>M1</option>
     <option>M2</option>
</select>
<select id="second">
     <option></option>
</select>

1-й исправил свои данные, и я загружаю данные во 2-й как:

 $("#first").change(function () {
        load2ndListData($("#first").val());
});

Обычноесли пользователь выбирает элемент из первого списка, а затем нажмите на второй.У второго списка достаточно времени для загрузки данных на основе выбранного элемента первого списка.Но проблема в том, что если я использую кнопку со стрелкой вкладки после выбора элемента в 1-м списке.

Снимок экрана

1

Этомгновенно фокусируется на 2-м раскрывающемся списке до завершения загрузки данных.

Я провел некоторое исследование и обнаружил, что с этими кнопками со стрелками можно обращаться только через фокус ().Поэтому я добавляю еще 1 список с непрозрачностью = 0 между двумя текущими списками, например:

<select id="first">
     <option>M1</option>
     <option>M2</option>
</select>
<select id="middle" style="opacity:0;">
     <option></option>
</select>
<select id="second">
     <option></option>
</select>

JS:

$("#middle").focus(function () {
        document.getElementById("first").focus();
        $.when($.ajax(load2ndListData())).then(function () {
            document.getElementById("second").focus();
        });
});

Это работает хорошо, но 2-й список получил свою загрузку данных ужасно медленнопотому что load2ndListData () вызывается 2 раза.Один из события change () и один из события focus ().Может ли кто-нибудь дать мне совет, пожалуйста; A;Я пытался использовать газ, но не повезло, и я не могу сбросить событие change (), потому что этот сайт также работает на другой платформе, такой как Android, у которой нет этой кнопки !!Большое вам спасибо.

...