当我在浏览器中运行以下代码时,单击任何按钮,无论其 id 属性值如何,都会调用事件侦听器回调函数。
<form method='post' id="exampleOne">
<input type="hidden" name="random" value=3>
<button>Submit</button>
</form>
<form method='post' id="exampleTwo">
<input type="hidden" name="random" value=5>
<button>Submit</button>
</form>
<form method='post' id="exampleThree">
<input type="hidden" name="random" value=7>
<button>Submit</button>
</form>
<script>
document.querySelector('#exampleTwo').addEventListener('click', confirm('Are you sure?'));
</script>
我不明白为什么会发生这种情况,因为 querySelector 方法应该只返回一个元素,事件侦听器正在添加到该元素中。那么为什么回调函数会针对没有给定 id 的元素执行?