我有以下代码:
HTML
<button>Add Name</button>
<ul id="names"></ul>
JS
class NameField {
constructor(name) {
const field = document.createElement('li');
field.textContent = name;
const nameListHook = document.querySelector('#names');
nameListHook.appendChild(field);
}
}
class NameGenerator {
constructor() {
const btn = document.querySelector('button');
btn.addEventListener('click', this.addName);
}
addName() {
const name = new NameField("Max");
}
}
const gen = new NameGenerator();
所以在这里,当我单击按钮时,每次addName
执行该函数并在 HTML 中打印最大值。
但是当我将行更改为:
btn.addEventListener('click', this.addName());
然后我最初在浏览器 HTML 上打印 Max,这是预期的,因为我立即调用该函数,我没有省略()
.
但我不明白为什么在初始打印后,当我点击按钮时,我没有Max
再次打印?这是为什么 ?
Max
好的,我在 HTML 上进行了初始打印,但是当我单击按钮时,我现在不应该再次打印吗?为什么我没有得到?