我有3个按钮 - btn 1,2和3 - 每个按钮都有自己的功能。我想要的是按钮1默认具有功能1。但是当按下按钮2时,按钮1的功能必须切换到功能4.当按下按钮3时,按钮1必须再次对准功能1。因此按钮2和3有自己的功能,但它们也必须切换按钮1的功能。代码是:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<button id="button1">button 1</button>
<button id="button2">button 2</button>
<button id="button3">button 3</button>
<script>
document.getElementById("button1").addEventListener("click", myFunction1);
function myFunction1() {
alert ("1");
}
document.getElementById("button2").addEventListener("click", myFunction2);
function myFunction2() {
alert ("2");
}
document.getElementById("button3").addEventListener("click", myFunction3);
function myFunction3() {
alert ("3");
}
</script>
<script>
function myFunction4() {
alert ("4");
}
</script>
</body>
</html>
答案 0 :(得分:1)
在function2和function3中使用removeEventListener
,然后使用addEventListener
附加正确的功能
function myFunction2() {
document.getElementById("button1").removeEventListener("click", myFunction1);
document.getElementById("button1").addEventListener("click", myFunction4);
}
function myFunction3() {
document.getElementById("button1").removeEventListener("click", myFunction4);
document.getElementById("button1").addEventListener("click", myFunction1);
}
答案 1 :(得分:0)
您可以使用if语句分配您希望函数使用数字执行的操作:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<button id="button1">button 1</button>
<button id="button2">button 2</button>
<button id="button3">button 3</button>
<script>
document.getElementById("button1").addEventListener("click", myFunction1);
var functionType = 1;
function myFunction1() {
if(functionType == 1){
alert("1");
} else if(functionType == 4){
myFunction4();
}
}
document.getElementById("button2").addEventListener("click", myFunction2);
function myFunction2() {
alert ("2");
functionType=4;
}
document.getElementById("button3").addEventListener("click", myFunction3);
function myFunction3() {
alert ("3");
functionType=1;
}
function myFunction4() {
alert ("4");
}
</script>
<script>
</script>
&#13;
PS:您也可以对functionType
使用布尔值(true / false),但如果您计划添加更多功能,我会使用数字。