使用单一方法检测按钮阵列上的点击

Detect clicks on button array with a single method

我在学校项目中工作,一个扫雷器。将是 20x20,所以它有 400 个按钮。有没有办法添加一个 actionEvent/actionPerformed 并为整个数组实现一个通用方法?或者有更简单的方法吗?

您正在将按钮放在容器中(我想)。向其添加一个动作处理程序以捕获点击。并读取事件的 'target' 变量,看看它是否是一个按钮

也许是这样的(为了方便使用 jQuery,但你也可以使用 Vanilla JS 来实现):

你的HTML:

<div id="buttonsHolder">
    <button data-num=1>1</button>
    <button data-num=2>2</button>
    <button data-num=3>3</button>
    ...
    <button data-num=4>4</button>
</div>

你的JavaScript:

$('#buttonsHolder').on('click', 'button', (function(evt){
    var buttonNum = $(this).attr('data-num');
    // Now, buttonNum variable holds the button number has clicked.
});

当然,除了使用 data-num 属性之外,您还可以使用所需的任何数据。