#jquery #html
#jquery #HTML
Вопрос:
При щелчке динамически добавляемых <select>
(с помощью jQuery
) элементов мне предлагается предупреждение о нарушении:
[Нарушение] Добавлен непассивный прослушиватель событий для события mousewheel, блокирующего прокрутку. Подумайте о том, чтобы пометить обработчик событий как «пассивный», чтобы сделать страницу более отзывчивой.
Вот код: codepen
Почему я получаю это предупреждение, поскольку я не привязываю какие-либо прослушиватели событий к этим новым <select>
элементам? И есть ли способ избежать этого?
Спасибо!
Комментарии:
1. Я не вижу никаких ошибок
2. @Hybrid нажмите «Добавить выбор», а затем щелкните по одному из
<select>
элементов. Только на этом этапе выдается запрос о нарушении3. Я сделал это, и до сих пор не вижу ошибок. Для справки я использую новейшую версию Chrome
4. Я тоже, но я также получаю предупреждение…
5. Вы искали предупреждение, много информации о нем….
Ответ №1:
Похоже, что появилась новая пассивная опция, которую можно передать обработчикам событий, что улучшит прокрутку и отключит предупреждение. Вот немного больше информации.
Пример реализации:
$(document).ready(function(){
var x = 5;
document.querySelector('#add-select').addEventListener('click', function (e) {
for(var n = 0; n < x; n) {
$('.dynamic-select').append('<div class="s"><select><option value="' n '">' n '</option></select></div>');
}
}, {passive: true})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<button type="button" id="add-select">Add Select</button>
</div>
<div class="dynamic-select"></div>
Комментарии:
1. спасибо за ваш ответ, но, к сожалению, ошибка продолжает появляться: (