使用单一方法检测按钮阵列上的点击
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
属性之外,您还可以使用所需的任何数据。
我在学校项目中工作,一个扫雷器。将是 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
属性之外,您还可以使用所需的任何数据。