【发布时间】:2021-01-08 13:06:16
【问题描述】:
我有一个简单的设置:两个具有不同值的按钮。我想使用 jquery 中的 .each() 函数向每个按钮添加一个单击事件侦听器,该侦听器仅记录每个按钮的值。 但不知何故,当使用 .each() 时,jquery 会覆盖前一个按钮的单击处理程序。 这给我留下了两个问题:
- 这是为什么呢?
- 如何将单个事件侦听器添加到 jquery 对象集合中?
见下方代码
<html lang="en">
<head>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(() => {
$(`button[toggle]`).each((_, button) => {
let $toggle = $(button);
type = $toggle.attr("type");
value = $toggle.attr("value");
$toggle.on("click", () => {
console.log(type, value);
});
});
});
</script>
</head>
<body>
<div>
<button toggle type="one" value="true">One</button>
<button toggle type="two" value="false">Two</button>
</div>
</body>
</html>
【问题讨论】:
标签: javascript jquery