首页 > 解决方案 > 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...)");
        },

标签: javascriptjquery

解决方案


推荐阅读