Выбор в Safari не закрывается автоматически после установки значения - PullRequest
1 голос
/ 11 июня 2019

У меня есть HTML-выбор на странице. У меня есть функция тайм-аута, где я устанавливаю значение этого элемента выбора. Моя проблема в том, что если пользователь открывает этот выбор до запуска функции тайм-аута, я не могу установить значение в нем.

В Chrome установлено значение выбора, и раскрывающийся список выбора автоматически закрывается. В Safari значение выбора не установлено, и раскрывающийся список никогда не закрывается.

Это мой HTML:

<select id="mySelect">
    <option value="-">-</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

Это мой JS:

setTimeout(function () {
    console.info('in timeout');
    var select = document.getElementById("mySelect");
    document.getElementsByTagName('body')[0].click();
    select.value = "3";
    select[3].click();
    console.info('in timeout end');
}, 7000);

Это ссылка на кодовый блок, которая воспроизводит это поведение: https://codepen.io/annmirosh9/pen/WqNEEq

Я тестировал его в Safari версии 12.0.3, и если я открою раскрывающийся список сразу после загрузки страницы, раскрывающийся список никогда не закроется и значение там не будет установлено.

Подскажите, пожалуйста, что я пропустил и как я могу заставить этот пример работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...