因此,我继续为我的on change事件获取此非被动事件侦听器违规。它最近才开始这个废话。将.js文件移动到自己的文件夹后,此函数完全停止工作。该功能甚至不会执行,我只是收到警告。除了这个函数之外,.js文件中的每个函数都有效。
错误:
[违规]为滚动阻止>'鼠标滚轮'添加了非被动事件监听器 事件。考虑将事件处理程序标记为“被动”以使页面更多 响应。见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()的函数或基于滚动行为修改页面。我不知道为什么我的改变功能会触发它,所以我不知道如何让它停止触发它。
- edit--
关于错误性质的更多信息:
它仅停止从传输到音频元素的更改 单击选择器时会发出警告 这段代码工作了好几个月,错误发生在后面而没有对它前面的代码进行任何修改 我的其他代码都没有受到bug的影响。
- 编辑2--
既然代码正在运行(通过删除jQuery使用)我只有一个问题:
为什么警告仍在那里?
答案 0 :(得分:0)
虽然我不知道导致该错误的原因,但它可能与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;
});
});
答案 1 :(得分:0)
es hat nichts mit JS oder jQuery zu tun。 Ausgelöstwirdder Fehler durch das &lt; select&gt; -Tag ich benutze Chrome 版本65.0.3325.181(Offizieller Build)(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>
Consolenmeldung: [违规]为滚动阻止“鼠标滚轮”事件添加了非被动事件监听器。考虑将事件处理程序标记为“被动”以使页面更具响应性。见https://www.chromestatus.com/feature/5745543795965952