2016-07-27 225 views
0

我有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> 
+1

爲什麼你沒有jQuery標記時,沒有jQuery? – rottenoats

回答

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>

PS:您也可以使用布爾值(真/假)作爲functionType,但如果您計劃添加更多功能,我會使用數字。

+0

不要忘記upvote這個答案,並將其標記爲答案,如果這可以幫助你:P –

+1

感謝尼克,它的工作原理。大! –

1

使用removeEventListener在功能2和功能3,然後安裝適當的功能與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); 
} 
+0

謝謝MAxx,你是個天才! –