我正在尝试在JS中创建任务列表,但存在一些问题。我将所有新的Task对象推送到TaskListHolder.tasks数组中,问题是这些对象内的click事件不起作用。例如,我将第一个对象放入数组中-checkClickEvent起作用...但是当我将第二个对象放入数组中时,第一个对象的click事件不起作用,但是,第二个对象起作用,依此类推。问题出在什么地方?
function Task(params) {
this.title = params.title;
this.description = params.description;
this.id = params.id;
this.deleteBtnClickHandler = params.deleteBtnClickHandler;
this.createHtml();
this.html.on("click", this.deleteBtnClickHandler);
}
createNewTask: function() {
var _this = this;
var task = new Task({
title: _this.openedPopup.find(".task-title").val(),
description: _this.openedPopup.find(".task-description").val(),
id: _this.generateID.apply(this),
deleteBtnClickHandler: _this.checkClickEvent.bind(this)
// deleteBtnClickHandler: _this.deleteTask.bind(this, setTimeout(function() {
// return task.id;
// }, 0))
});
this.TaskListHolder.add(task);
this.openedPopup.remove();
},
checkClickEvent: function() {
console.log("Yep! I'm working...)");
},