Console.log 仅显示一次结果,添加事件监听器时按钮不起作用
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>
您需要将事件回调代码包装在函数示例中
const bt = document.createElement('button');
bt.innerHTML = "CLICK HERE";
document.querySelector('#dv').append(bt);
bt.addEventListener('click', () => console.log('clicked'));
您正在立即执行。在添加 eventListener 时创建一个函数。
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>
我知道这是一个基本问题,但我不知道如何解决它!
在我的部分代码中,我有与下面相同的代码块;那部分工作正常,但是对于这部分我遇到了错误!
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>
您需要将事件回调代码包装在函数示例中
const bt = document.createElement('button');
bt.innerHTML = "CLICK HERE";
document.querySelector('#dv').append(bt);
bt.addEventListener('click', () => console.log('clicked'));
您正在立即执行。在添加 eventListener 时创建一个函数。
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>