繁体   English   中英

Console.log 只显示一次结果,并且 addEventListener 时按钮不起作用

[英]Console.log show result only once and the button don't work when addEventListener

我知道这是一个基本问题,但我不知道如何解决它!
在我的部分代码中,我有如下相同的代码块; 该部分工作正常,但对于这部分我得到一个错误!

console.log仅第一次显示结果!

const bt = document.createElement('button');
bt.innerHTML = "CLICK HERE";
document.querySelector('#dv').append(bt);

bt.addEventListener('click', console.log('clicked'));
<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <script src="test.js" defer></script>
    </head>
    <body>
        <div id="dv"></div>
    </body>
</html>

您需要将事件回调代码包装在 function 示例中

 const bt = document.createElement('button'); bt.innerHTML = "CLICK HERE"; document.querySelector('#dv').append(bt); bt.addEventListener('click', () => console.log('clicked'));

您正在立即执行它。 在添加事件监听器时创建一个 function。

 const bt = document.createElement('button'); bt.innerHTML = "CLICK HERE"; document.querySelector('#dv').append(bt); bt.addEventListener('click', function() { console.log('clicked') });
 <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <div id="dv"></div> </body> </html>

您需要使用 addEventListener 附加点击事件,如下所示。

 const bt = document.createElement('button'); bt.innerHTML = "CLICK HERE"; document.querySelector('#dv').append(bt); bt.addEventListener('click', () => console.log('clicked'));
 <!DOCTYPE html> <html> <head> <title>test</title> </head> <body> <div id="dv"></div> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM