Javascript первый щелчок по вводу с предложением не работает в сафари - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь прикрепить обработчик щелчков к входу, но по какой-то причине он не работает для первого щелчка на входах, которые получают autosuggestion в сафари. Все остальные клики после первого работают. Так, например, если перед входом есть имя или метка перед ним: First name, Last name, Email или что-то подобное, Safari поместит виджет подсказки в конец ввода и предложит мою информацию, которая находится в Keychain Access I Угадай. Событие щелчка не сработает при первом щелчке по этому входу, после первого сработает нормально.

Вот код, который вызывает эту проблему. По сути, мне нужен способ вызывать событие щелчка на входах каждый раз, когда на него нажимают (желательно vanilla js, но jquery тоже подойдет).

HTML:

<form>
    // Click on this input doesn't trigger the first time I click it because Safari has a suggestion widget for this input
    <label for="email">Email</label>
    <input type="email" class="form-control" id="email" placeholder="you@example.com" data-input="">

    // Click on this input triggers every time I click it with no issue
    <label for="address">Address</label>
    <input type="text" class="form-control" id="address" placeholder="1234 Main St" required="" data-input="">
</form>

JS:

var inputs = document.querySelectorAll('[data-input]');

var myFunction = function(event) {
    console.log('Clicked');
};

for (var i = 0; i < inputs.length; i++) {
    // I put this console.log here to see if all of the inputs pass through this for loop to get the event listener and they do
    console.log(inputs[i]);
    inputs[i].addEventListener('click', myFunction);
}

РЕДАКТИРОВАТЬ: несмотря на то, что ссылка @ gopigorantala в его комментарии может считаться дубликатом, я не ищу то же самое, что ищет вопрос. В этом вопросе спрашивается, как отключить функцию автозаполнения в safari на входах, я ищу способ обнаружения щелчков на входах, несмотря на то, что автопредоставление присутствует.

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