javascript - this.on("click", function() {}) 在 JavaScript 中不起作用?
问题描述
我正在尝试在 JS 中做一个任务列表,但有一些问题。我将所有新的 Task 对象推送到 TaskListHolder.tasks 数组中,问题是这些对象内的点击事件不起作用。例如,我将第一个对象放入数组 - checkClickEvent 有效......但是当我将第二个对象放入数组时,第一个对象的单击事件不起作用,但是,第二个对象起作用,依此类推。什么问题???
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...)");
},
解决方案
推荐阅读
- c++ - 没有使用 NewObject、NewNamedObject 或 ConstructObject 构造...但它是
- python-3.x - 产生意外的表达式语法
- android - Gradle:DSL 元素“useProguard”已过时,将很快被删除
- ios - 使用 CoreBluetooth CBL2CAPChannel 移动数据
- java - 如何单击具有输入类型和值的按钮?
- jquery - 如何使用jQuery ajax 重新加载用户不知道的页面是正在重新加载的页面?
- html - CSS样式表第一次没有链接到HTML web-dev
- android - 使用改造(pdf,ppt,png,jpg)“code = 500,内部服务器错误”上传文件有什么问题
- android - 如何绑定具有多个 IN 值的 SQL 语句?
- android - 如何使用导航视图