Не срабатывает событие keyUp в Safari на iPhone
В браузере Safari на iPhone не работает функция, вызываемая событием 'keyup'. Событие 'input' также ничего не дало.
var orderFiltersSpecialization = document.getElementById("orderFiltersSpecialization");
if (orderFiltersSpecialization) {
var specializationLabels = document.querySelectorAll(".orderFilters__item--specialization label");
specializationLabels.forEach((label) => {
label.addEventListener('change', (evt) => {
orderFiltersSpecialization.value = evt.currentTarget.querySelector('input').value
})
})
function filterSpecialization() {
var filter = orderFiltersSpecialization.value.toUpperCase();
for (var i = 0; i < specializationLabels.length; i++) {
var txtValue = specializationLabels[i].textContent || specializationLabels[i].innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
specializationLabels[i].style.display = "";
} else {
specializationLabels[i].style.display = "none";
}
}
}
orderFiltersSpecialization.addEventListener('keyup', filterSpecialization)
}
Ответы (1 шт):
Автор решения: DiPokemon
→ Ссылка
Проблема решена. Не знаю почему это сработало, но сработало. Прикладываю код:
var orderFiltersSpecialization = document.getElementById("orderFiltersSpecialization");
if (orderFiltersSpecialization) {
var specializationLabels = document.querySelectorAll(".orderFilters__item--specialization label");
specializationLabels.forEach((label) => {
label.addEventListener('change', (evt) => {
orderFiltersSpecialization.value = evt.currentTarget.querySelector('input').value
})
})
orderFiltersSpecialization.oninput = function() {
var filter = orderFiltersSpecialization.value.toUpperCase();
for (var i = 0; i < specializationLabels.length; i++) {
var txtValue = specializationLabels[i].textContent || specializationLabels[i].innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
specializationLabels[i].style.display = "";
} else {
specializationLabels[i].style.display = "none";
}
}
}
//orderFiltersSpecialization.addEventListener('input', filterSpecialization)
}