У меня есть 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-м списке.
Снимок экрана
Этомгновенно фокусируется на 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, у которой нет этой кнопки !!Большое вам спасибо.