【发布时间】:2019-07-26 18:32:53
【问题描述】:
我正在尝试将 addEventlistener 添加到具有#addButton id 的 DOM 元素中。我在 ES6 中使用了新的绑定方法,但这不起作用。如何调用添加函数?
class ToDoApp {
constructor (settings) {
if (!settings) {
throw 'Todo App requires settings object';
}
this.addButtonHandler = document.querySelector(settings.addButtonSelector);
this.addButtonHandler.addEventListener('click', this.add);
}
add = () => {
console.log('heello');
}
}
const myTodo = new ToDoApp({
inputSelector: '#input',
addButtonSelector: '#addButton',
deleteButtonSelector: '#delete',
listContainerSelector: '#list'
});
HTML
<div id="container">
<div id="imputArea">
<form action="index.html" method="POST">
<input type="text" id="input" />
<input type="button" id="addButton" value="Add" />
</form>
</div>
<div id="listArea">
<ul id="list">
<li>
<input type="checkbox" />
<p id="task">Task 1</p>
<input type="button" id="delete" value="X" />
</li>
</ul>
</div>
</div>
【问题讨论】:
-
如果在创建
newTodo时按钮存在,则可以正常工作。 “不起作用”是什么意思...任何错误? -
"ES6 中的新绑定方法" - 你在说什么?
-
"但这不起作用" - 究竟是什么不起作用?当您运行此代码时,您的 DOM 看起来如何(html 标记)?您是否收到任何错误消息?
标签: javascript ecmascript-6 eventhandler