非被动事件侦听器违反更改
non-passive event listener violation with on change
所以,我的更改事件不断收到此非被动事件侦听器违规。它最近才开始这种废话。在我将 .js 文件移动到它自己的文件夹中后,此功能完全停止工作。该功能甚至不会执行,我只是收到警告。除了这个以外,.js 文件中的每个函数都有效。
错误:
[Violation] Added non-passive event listener to a scroll-blocking >'mousewheel'
event. Consider marking event handler as 'passive' to make the page more
responsive. See https://www.chromestatus.com/feature/5745543795965952
代码:
//Put the music into the list for the user to select from
$('#songs').on('change', function() {
var $selected = $('#songs').find(':selected').text();
$('#audio').attr('src', './../music/' + $selected);
});
<div class="control-panel">
<audio src="music/Legend_of_Zelda_Zelda_Heineken_OC_ReMix.mp3"
id="audio" controls>Audio not supported</audio>
<select id="songs">
</select>
</div>
我所看到的关于非被动问题的所有内容都必须处理具有 .preventDefault() 的函数或根据滚动行为修改页面。我不知道为什么我的 on change 函数会触发它,所以我也不知道如何让它停止触发它。
--编辑--
有关错误性质的更多信息:
它只是阻止更改传输到音频元素。
单击选择器时会发送警告。
这段代码工作了几个月,错误出现在它之前的代码没有任何变化的情况下。
none 我的其他代码受到该错误的影响。
--编辑2--
现在代码可以正常工作(通过删除 jQuery 使用)我只有一个问题:
为什么警告还在?
虽然我不知道是什么原因导致该错误,但它可能与 jQuery 需要在幕后做的一些事情有关。
一般来说,不用jQuery也可以做到,所以这里用纯JS重写。
document.addEventListener("DOMContentLoaded", function() {
document.querySelector('#songs').addEventListener('change', function() {
var t = document.querySelector('#songs :checked').text;
document.querySelector('#audio').src = './../music/' + t;
});
});
它与 JS 或 jQuery没有任何关系。该错误是由 标签触发的 我使用 Chrome
版本 65.0.3325.181(正式版)(64 位)
<label class="control-label" for="bemerkung">
Wie sind Sie auf uns aufmerksam geworden?<br />
</label>
<select class="form-control" id="aufmerksam_durch_dropdown" name="Aufmerksam">
<option value="" selected="selected" class="default">Pick one</option>
<option value="1">Durch das Internet</option>
<option value="2">Durch Freunde/Bekannte/Familie</option>
<option value="3">Durch ein Mitglied</option>
<option value="4">Durch eine Veranstaltung</option>
<option value="0">Sonstige</option>
</select>
<label class="control-label" for="bemerkung">
Wie sind Sie auf uns aufmerksam geworden?<br />
</label>
<select class="form-control" id="aufmerksam_durch_dropdown" name="Aufmerksam">
<option value="" selected="selected" class="default">Pick one</option>
<option value="1">Durch das Internet</option>
<option value="2">Durch Freunde/Bekannte/Familie</option>
<option value="3">Durch ein Mitglied</option>
<option value="4">Durch eine Veranstaltung</option>
<option value="0">Sonstige</option>
</select>
控制台消息:
[违规] 向 scroll-blocking 'mousewheel' 事件添加了 non-passive 事件侦听器。考虑将事件处理程序标记为 'passive' 以使页面更具响应性。湖 https://www.chromestatus.com/feature/5745543795965952
所以,我的更改事件不断收到此非被动事件侦听器违规。它最近才开始这种废话。在我将 .js 文件移动到它自己的文件夹中后,此功能完全停止工作。该功能甚至不会执行,我只是收到警告。除了这个以外,.js 文件中的每个函数都有效。
错误:
[Violation] Added non-passive event listener to a scroll-blocking >'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
代码:
//Put the music into the list for the user to select from
$('#songs').on('change', function() {
var $selected = $('#songs').find(':selected').text();
$('#audio').attr('src', './../music/' + $selected);
});
<div class="control-panel">
<audio src="music/Legend_of_Zelda_Zelda_Heineken_OC_ReMix.mp3"
id="audio" controls>Audio not supported</audio>
<select id="songs">
</select>
</div>
我所看到的关于非被动问题的所有内容都必须处理具有 .preventDefault() 的函数或根据滚动行为修改页面。我不知道为什么我的 on change 函数会触发它,所以我也不知道如何让它停止触发它。
--编辑--
有关错误性质的更多信息:
它只是阻止更改传输到音频元素。
单击选择器时会发送警告。
这段代码工作了几个月,错误出现在它之前的代码没有任何变化的情况下。
none 我的其他代码受到该错误的影响。
--编辑2--
现在代码可以正常工作(通过删除 jQuery 使用)我只有一个问题:
为什么警告还在?
虽然我不知道是什么原因导致该错误,但它可能与 jQuery 需要在幕后做的一些事情有关。
一般来说,不用jQuery也可以做到,所以这里用纯JS重写。
document.addEventListener("DOMContentLoaded", function() {
document.querySelector('#songs').addEventListener('change', function() {
var t = document.querySelector('#songs :checked').text;
document.querySelector('#audio').src = './../music/' + t;
});
});
它与 JS 或 jQuery没有任何关系。该错误是由 标签触发的 我使用 Chrome 版本 65.0.3325.181(正式版)(64 位)
<label class="control-label" for="bemerkung">
Wie sind Sie auf uns aufmerksam geworden?<br />
</label>
<select class="form-control" id="aufmerksam_durch_dropdown" name="Aufmerksam">
<option value="" selected="selected" class="default">Pick one</option>
<option value="1">Durch das Internet</option>
<option value="2">Durch Freunde/Bekannte/Familie</option>
<option value="3">Durch ein Mitglied</option>
<option value="4">Durch eine Veranstaltung</option>
<option value="0">Sonstige</option>
</select>
<label class="control-label" for="bemerkung">
Wie sind Sie auf uns aufmerksam geworden?<br />
</label>
<select class="form-control" id="aufmerksam_durch_dropdown" name="Aufmerksam">
<option value="" selected="selected" class="default">Pick one</option>
<option value="1">Durch das Internet</option>
<option value="2">Durch Freunde/Bekannte/Familie</option>
<option value="3">Durch ein Mitglied</option>
<option value="4">Durch eine Veranstaltung</option>
<option value="0">Sonstige</option>
</select>
控制台消息: [违规] 向 scroll-blocking 'mousewheel' 事件添加了 non-passive 事件侦听器。考虑将事件处理程序标记为 'passive' 以使页面更具响应性。湖 https://www.chromestatus.com/feature/5745543795965952