Javascript 为什么我的addEventListner不能作为onclick事件工作
我想使用click事件循环的函数在myFunction1和myFunction2之间切换Javascript 为什么我的addEventListner不能作为onclick事件工作,javascript,html,Javascript,Html,我想使用click事件循环的函数在myFunction1和myFunction2之间切换 <!DOCTYPE html> <html> <body> 单击我 单击我 在这个脚本中,我使用了addeventlistner函数 <p id="demo">Click me.</p> <p id="demo1">Click me.</p> document.getElementById(“演示”).add
<!DOCTYPE html>
<html>
<body>
单击我
单击我
在这个脚本中,我使用了addeventlistner函数
<p id="demo">Click me.</p>
<p id="demo1">Click me.</p>
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
函数myFunction1(){
document.getElementById(“demo”).innerHTML=“你点击了我!”;
document.getElementById(“演示”).addEventListener(“单击”,myFunction2);
}
函数myFunction2(){
document.getElementById(“demo”).innerHTML=“您单击了ME2!”;
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
}
document.getElementById(“demo1”).addEventListener(“单击”,myFunction3);
函数myFunction3(){
document.getElementById(“demo1”).innerHTML=“您单击了ME3!”;
document.getElementById(“demo1”).onclick=function(){myFunction4()};
}
函数myFunction4(){
document.getElementById(“demo1”).innerHTML=“您单击了ME4!”;
document.getElementById(“demo1”).onclick=function(){myFunction3};
}
如果要在两者之间切换,需要使用removeEventListener
删除前面的处理程序;否则,两个都会连接。请参见***
行:
<script>
document.getElementById("demo").addEventListener("click", myFunction1);
function myFunction1() {
document.getElementById("demo").innerHTML = "YOU CLICKED ME!";
document.getElementById("demo").addEventListener("click",myFunction2);
}
function myFunction2() {
document.getElementById("demo").innerHTML = "YOU CLICKED ME2!";
document.getElementById("demo").addEventListener("click",myFunction1);
}
document.getElementById("demo1").addEventListener("click",myFunction3);
function myFunction3() {
document.getElementById("demo1").innerHTML = "YOU CLICKED ME3!";
document.getElementById("demo1").onclick = function(){myFunction4()};
}
function myFunction4() {
document.getElementById("demo1").innerHTML = "YOU CLICKED ME4!";
document.getElementById("demo1").onclick =function(){myFunction3};
}
</script>
</body>
</html>
实例:
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
函数myFunction1(){
document.getElementById(“demo”).innerHTML=“你点击了我!”;
document.getElementById(“演示”).removeEventListener(“单击”,myFunction1);//***
document.getElementById(“演示”).addEventListener(“单击”,myFunction2);
}
函数myFunction2(){
document.getElementById(“demo”).innerHTML=“您单击了ME2!”;
document.getElementById(“演示”).removeEventListener(“单击”,myFunction2);//***
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
}
单击我
如果要在两者之间切换,需要使用removeEventListener
删除以前的处理程序;否则,两个都会连接。请参见***
行:
<script>
document.getElementById("demo").addEventListener("click", myFunction1);
function myFunction1() {
document.getElementById("demo").innerHTML = "YOU CLICKED ME!";
document.getElementById("demo").addEventListener("click",myFunction2);
}
function myFunction2() {
document.getElementById("demo").innerHTML = "YOU CLICKED ME2!";
document.getElementById("demo").addEventListener("click",myFunction1);
}
document.getElementById("demo1").addEventListener("click",myFunction3);
function myFunction3() {
document.getElementById("demo1").innerHTML = "YOU CLICKED ME3!";
document.getElementById("demo1").onclick = function(){myFunction4()};
}
function myFunction4() {
document.getElementById("demo1").innerHTML = "YOU CLICKED ME4!";
document.getElementById("demo1").onclick =function(){myFunction3};
}
</script>
</body>
</html>
实例:
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
函数myFunction1(){
document.getElementById(“demo”).innerHTML=“你点击了我!”;
document.getElementById(“演示”).removeEventListener(“单击”,myFunction1);//***
document.getElementById(“演示”).addEventListener(“单击”,myFunction2);
}
函数myFunction2(){
document.getElementById(“demo”).innerHTML=“您单击了ME2!”;
document.getElementById(“演示”).removeEventListener(“单击”,myFunction2);//***
document.getElementById(“演示”).addEventListener(“单击”,myFunction1);
}
单击我
欢迎使用堆栈溢出!请拿着(你得到了一个徽章!),四处看看,仔细阅读,特别是我还推荐Jon Skeet's和。不起作用怎么办?发生了什么?您的编辑添加了更多的函数,但没有回答上面的问题:您的代码没有按预期工作呢?(在我的回答中,我是否正确地猜到问题在于您希望它们切换,而它们只是添加在一起并调用这两个函数?)欢迎使用Stack Overflow!请拿着(你得到了一个徽章!),四处看看,仔细阅读,特别是我还推荐Jon Skeet's和。不起作用怎么办?发生了什么?您的编辑添加了更多的函数,但没有回答上面的问题:您的代码没有按预期工作呢?(在我的回答中,我是否正确地猜测问题在于您希望它们切换,而它们只是相加并调用这两个函数?)