Bootstrap Multielect Невозможно предотвратить призыв к пассивному прослушивателю событий при мобильной ошибкеJquery

Программирование на jquery
Ответить
Anonymous
 Bootstrap Multielect Невозможно предотвратить призыв к пассивному прослушивателю событий при мобильной ошибке

Сообщение Anonymous »

Я использую Bootstrap multiSelect (https://github.com/davidstutz/bootstrap-multiselect - текущая версия) в форме. На рабочем столе он работает нормально, но на мобильных устройствах или, если я использую режим адаптивного проектирования в Firefox или эмуляцию Toggle Device в инструменте Chrome Dev, я получаю ошибку: < /p>

Код: Выделить всё

Unable to preventDefault inside passive event listener invocation.
< /code>
и поведение Select не работает, как ожидалось на мобильном телефоне. У меня есть эта ошибка по умолчанию, но также и с моей пользовательской конфигурацией: < /p>
const opts_basic = {
nonSelectedText: 'Select',
maxHeight: 250,
buttonWidth: '100%'
};

$('#subjectContact').multiselect(opts_basic);
Как я могу исправить эту ошибку на мобильном телефоне?
Я пробовал деактивировать событие />https://github.com/davidstutz/bootstrap ... tDefault();
< /code>
Но тогда все мобильные попытки работают, но не попытки настольного компьютера. MultiSelect .onchange () работает: < /p>
Desktop: 2 times; Mobile: 3 times
< /code>
Если я активирую его: < /p>
Desktop: 1 time; Mobile: 2 times (including the error)
< /code>
Я также заметил разницу в селекторе копирования и стилях копирования опции Выбрать: < /p>
Надзор: < /p>
#form-group-subject > span > div > div.multiselect-container.dropdown-menu > button.multiselect-option.dropdown-item.active > span > label
document.querySelector("#form-group-subject > span > div > div.multiselect-container.dropdown-menu > button.multiselect-option.dropdown-item.active > span > label")
< /code>
mobile: < /p>
#form-group-subject > span > div > div > button.multiselect-option.dropdown-item.active > span > label
document.querySelector("#form-group-subject > span > div > div > button.multiselect-option.dropdown-item.active > span > label")
< /code>
Я также попробовал: < /p>
//$('#subjectContact').multiselect(opts_basic_one_min).change(function(e) { e.preventDefault(); });
< /code>
Я также попробовал < /p>
document.addEventListener('touchstart', function(event) {
event.preventDefault();
console.log('touchstart event');
}, { passive: false } );
< /code>
, кажется, работает, но на мобильном телефоне я больше не могу открыть MultiSelect. < /p>
или: < /p>
document.addEventListener('touchstart', function(event) {
if(event.cancelable) {
event.preventDefault();
}
console.log('touchstart event');
});
< /code>
То же, что (в Bootstrap-multiselect.js): < /p>
if(event.cancelable) {
event.preventDefault();
}
[/code]
мобильный, кажется, работает, но на рабочем столе не так, как ожидалось.
jquery v3.7.1

Подробнее здесь: https://stackoverflow.com/questions/797 ... stener-inv
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»