gpt4 book ai didi

javascript - 使用具有 onclick 事件的按钮向按钮添加 onclick 事件?

转载 作者:行者123 更新时间:2023-11-30 21:18:17 24 4
gpt4 key购买 nike

我有 2 个按钮,其中一个有一个 onclick 事件,当单击该事件时调用一个函数,该函数应该向第二个按钮添加一个 onclick 事件处理程序。

我能够在 w3schools.com 上做这个小例子,这里是代码:

<!DOCTYPE html>
<html>
<body>

<p>Click "Try it" to execute the displayDate() function.</p>

<button id="myBtn2" onclick="addfunc();">Trigger</button>
<button id="myBtn">Try it</button>


<p id="demo"></p>

<script>
function addfunc(){
document.getElementById("myBtn").onclick = displayDate();
}

function displayDate() {
document.getElementById("demo").innerHTML = Date();
}
</script>

</body>
</html>

预期的功能是当点击“触发”之前的“试一试”按钮时,没有任何反应,只有在点击“触发”之后,“试一试”按钮才会起作用。问题是当我单击“触发器”时,它实际上运行了应该通过单击“尝试”按钮执行的功能。

希望我解释清楚了,谢谢!

最佳答案

您应该使用 displayDate 而不是 displayDate()。因为 displayDate() 直接调用了函数。

<!DOCTYPE html>
<html>
<body>

<p>Click "Try it" to execute the displayDate() function.</p>

<button id="myBtn2" onclick="addfunc();">Trigger</button>
<button id="myBtn">Try it</button>


<p id="demo"></p>

<script>
function addfunc(){
document.getElementById("myBtn").onclick = displayDate;
}

function displayDate() {
document.getElementById("demo").innerHTML = Date();
}
</script>

</body>
</html>


如果要传递变量

<!DOCTYPE html>
<html>
<body>

<p>Click "Try it" to execute the displayDate() function.</p>

<button id="myBtn2" onclick="addfunc();">Trigger</button>
<button id="myBtn">Try it</button>


<p id="demo"></p>

<script>
function addfunc(){

document.getElementById("myBtn").addEventListener('click', function(){
displayDate("my params");
});
}

function displayDate(params) {
document.getElementById("demo").innerHTML = Date() + " -- " + params;
}
</script>

</body>
</html>

关于javascript - 使用具有 onclick 事件的按钮向按钮添加 onclick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com