Javascript多事件监听器到一个函数
我正在尝试用HTML和JS构建记分板,我想知道是否可以为不同的按钮在一个函数中添加2或3个事件侦听器 我的第一个想法是使用switch语句,如:Javascript多事件监听器到一个函数,javascript,Javascript,我正在尝试用HTML和JS构建记分板,我想知道是否可以为不同的按钮在一个函数中添加2或3个事件侦听器 我的第一个想法是使用switch语句,如: document.getElementById(“1”).addEventListener(“单击”,得分); document.getElementById(“2”).addEventListener(“单击”,得分); document.getElementById(“3”).addEventListener(“单击”,得分); 功能评分(){
document.getElementById(“1”).addEventListener(“单击”,得分);
document.getElementById(“2”).addEventListener(“单击”,得分);
document.getElementById(“3”).addEventListener(“单击”,得分);
功能评分(){
开关(按钮id){
案例“1”:
...
案例“2”:
...
...
}
}
您可能希望将事件委派给父容器(事件委派)。可以通过向元素添加数据属性来检索信息
功能评分(evt){
var index=evt.target.getAttribute('data-index');
如果(索引){
log('您单击:'+索引);
}
}
document.getElementsByClassName('container')[0].addEventListener(“单击”,得分)代码>
.container div{
宽度:100px;
边框:1px实心#000;
背景:浅蓝色;
保证金:5px;
文本对齐:居中;
光标:指针;
}
1.
2.
3.
试试这个:
html
<input type="button" id="b1" onclick="score(this.id)">
<input type="button" id="b2" onclick="score(this.id)">
<input type="button" id="b3" onclick="score(this.id)">
这应该是可行的。您需要在评分函数中定义按钮。例如,它可以是functionscore(evt){let button=evt.target;}
或者甚至是this
。它现在可以工作了,谢谢!
function score(x)
{
//your code
}