当前位置: 首页 > 知识库问答 >
问题:

如何获取按钮的值内单击eventListener

聂季同
2023-03-14

我试图在单击某个按钮时显示该按钮的值。如果我在eventListener中为此编写代码,则会弹出警报,但不会显示文本。

我已尝试将警报移动到eventListener上方和for循环内部,这将在页面加载时显示正确的值。

按钮的HTML格式:

<button class="buttonA" value="A">A</button>
<button class="buttonB" value="B">B</button>
<button class="buttonC" value="C">C</button>
<button class="buttonD" value="D">D</button>
<button class="buttonE" value="E">E</button>
<button class="buttonF" value="F">F</button>
<button class="buttonG" value="G">G</button>
<button class="buttonH" value="H">H</button>
<button class="buttonI" value="I">I</button>
<button class="buttonJ" value="J">J</button>

Javascript:

<script>

var allButtons = document.querySelectorAll('button[class^=button]');

for (var i = 0; i < allButtons.length; i++) {
    var value = allButtons[i].value;
    alert(value);  //this works and shows all values on page load
    allButtons[i].addEventListener('click', function() {
        try {
            alert(value); //this shows a blank pop-up when a button is clicked
        }
        catch(error) {
            console.log(error);
        }
    });
}
</script>

共有1个答案

田慈
2023-03-14

您需要向事件侦听器添加参数参数,例如e,或者使用参数[0]

然后可以使用e.target.value获取按钮的值。

document.querySelectorAll('button[class^=button]').forEach(button => {
  button.addEventListener('click', onClickEvent);
});

function onClickEvent(e) {
  try {
    alert(e.target.value); // or `arguments[0].target.value`
  } catch (error) {
    console.log(error);
  }
}
<button class="buttonA" value="A">A</button>
<button class="buttonB" value="B">B</button>
<button class="buttonC" value="C">C</button>
<button class="buttonD" value="D">D</button>
<button class="buttonE" value="E">E</button>
<button class="buttonF" value="F">F</button>
<button class="buttonG" value="G">G</button>
<button class="buttonH" value="H">H</button>
<button class="buttonI" value="I">I</button>
<button class="buttonJ" value="J">J</button>
 类似资料:
  • 问题内容: 我需要提取表中每列的详细信息。例如,列“名称/编号”。 该表包含多个地址 每行的最后一列都有一个按钮,使用户可以选择列出的地址。 问题: 我的代码仅选择具有类的第一个。我该如何工作? 这是jQuery位: 表: 问题答案: 练习的目的是找到包含信息的行。当我们到达那里时,我们可以轻松提取所需的信息。 回答 现在,让我们集中讨论这种情况下的一些常见问题。 如何找到最接近的行? 使用: 使

  • 编辑:底部的解决方案 这是一个跳棋游戏。单击一个按钮后,它等待单击第二个按钮与之交换。然而,有时你可能不想移动那个按钮,但一旦你点击了它,就没有回头路了,因为我无法禁用它。 在这里的其他帖子中,我看到人们使用 这只是使它在第一次单击后不可见。 这什么都干不了。 这也没什么用。编辑:所有这些方法都用true和false进行了尝试。 私有无效交换(){ 但你也需要 这样它就重新启用了它,或者其他什么,

  • 我想知道我将如何获得被点击的按钮的id(因为它是未知的)。因此,当单击按钮时,我知道该特定按钮的id是什么。页面上有很多按钮,我想知道按下了哪个按钮(它们都有唯一的id)。当前按钮如下所示:

  • 我的网页上的表格中有很多按钮。 每个按钮都有相同的名称,但值集不同。 当我想提取按钮值时,使用下面的按钮值不意味着我没有得到唯一的按钮值——实际单击的按钮值吗? 我怎么才能绕过它? 谢谢

  • 问题内容: 如何找到被点击的按钮的ID? 问题答案: 您需要发送ID作为功能参数。像这样做: 这将发送ID 作为您可以在您的函数中使用。

  • 我到处寻找,并尽一切努力从SQLQueriesRadion按钮获取选定的mySQL值。 这是我的密码 谢啦