javascript - 如何从不同的按钮调用函数?
问题描述
我试图在 switch 语句中放置具有相同功能的不同按钮。每个按钮都需要调用相同的功能但具有不同的开关参数。
<button type="submit" onclick="myFunction()" class="dugme1" id="btnSQRT">
SQRT
</button>
<button type="submit" onclick="myFunction()" class="dugme1" id="btnSIN" style="margin-left:
100px;">
SIN
</button>
<button type="submit" onclick="myFunction()" class="dugme1" id="btnCOS" style="margin-left:
100px;">
COS
</button>
<button type="submit" onclick="myFunction()" class="dugme1" id="btnROUND" style="margin-left:
100px;">
ROUND
</button>
这是JS代码,
<script>
function myFunction(){
var x = prompt("Input number beteen 1 i 999");
if(x > 0 && x < 1000){
switch(x){
case 0:
document.getElementById("btnSQRT");
document.write("nesta");
break;
case 1:
document.getElementById("btnSIN");
document.write("nesta");
break;
case 2:
document.getElementById("btnCOS");
document.write("nesta");
break;
case 3:
document.getElementById("btnROUND");
document.write("nesta");
break;
}
}
else{
alert("Thats not a wanted number");
}
}
</script>
解决方案
在这里你有:
- 所有按钮的一个事件侦听器。
- 使用属性从按钮获取“值”
id
。另一种方法是使用数据属性(就像我使用 2ed 按钮所做的那样)。 switch
处理下一步做什么的声明。
我不完全清楚该switch
声明是否是正确的方法。如果您有任何问题,请发表评论。
document.addEventListener('DOMContentLoaded', e => {
let buttons = document.getElementById('buttons');
let output = document.getElementById('output');
buttons.addEventListener('click', e => {
if (e.target.nodeName == 'BUTTON') {
switch (e.target.id) {
case 'btnSQRT':
output.innerHTML = 'You clicked SQRT';
break;
case 'btnSIN':
output.innerHTML = 'You clicked SIN';
break;
case 'btnCOS':
output.innerHTML = 'You clicked COS';
break;
case 'btnROUND':
output.innerHTML = 'You clicked ROUND';
break;
}
}
});
});
div#buttons {
display: flex;
justify-content: space-between;
}
<div id="buttons">
<button id="btnSQRT">SQRT</button>
<button data-func="SIN" id="btnSIN">SIN</button>
<button id="btnCOS">COS</button>
<button id="btnROUND">ROUND</button>
</div>
<div id="output"></div>
推荐阅读
- javascript - React Bootstrap Table:根据值更改背景颜色的内联样式
- javascript - javascript在sting中获取数据
- python - 无法访问 html 元素中的 href -Beautifulsoup
- python - Get same sequence of shuffle on Kotlin and Python
- persistence - Akka.net 持久性如何配置为仅在重启后而不是在启动时进入恢复阶段
- javascript - 创建重复的对象数组
- python - 从数据框列中减去值:SettingWithCopyWarning
- r - 读取和格式化多级、不均匀的 JSON
- c - 如何确定浮点尾数的最大正基数 10 值?
- apache-spark - unix_timestamp 在 spark sql 中产生空值并将空值写入表