Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC控制器和单击事件_Javascript_Javascriptmvc - Fatal编程技术网

Javascript MVC控制器和单击事件

Javascript MVC控制器和单击事件,javascript,javascriptmvc,Javascript,Javascriptmvc,我在使用Javascript MVC控制器时遇到单击事件不起作用的问题 TEST.Assignments.AssignmentsController = function (element) { var elements = { activeAssignmentsPanel: $('#lpn-activeAssignments_Cont'), assignmentViewLink: $("#lpn-activeAssignments_Cont table tr th a") }

我在使用Javascript MVC控制器时遇到单击事件不起作用的问题

TEST.Assignments.AssignmentsController = function (element) {

var elements = {
    activeAssignmentsPanel: $('#lpn-activeAssignments_Cont'),
    assignmentViewLink: $("#lpn-activeAssignments_Cont table tr th a")
};

var _this = this;
var model = new TEST.Assignments.AssignmentModel();

this.buildAssignmentsList = function () {
    var assignments = model.getActiveAssignmentsList({
        assignmentMode: "active",
        mock: true,
        success: function (data) {
                dust.render("ActiveAssignmentsPanel", data, function(err, out) {
                elements.activeAssignmentsPanel.append(out);
            });
        }
    });
};

this.getAssignmentDetails = function(assignmentId) {
    console.log(assignmentId);
};

//bind all events
elements.assignmentViewLink.click(function (e) {
    console.log("blah");
    console.log($(this).data("assignmentKey"));
});


};//end assignments controller


$(function () {
    var assignmentsController = new TEST.Assignments.AssignmentsController();
    assignmentsController.buildAssignmentsList();
});

如果您查看
//bind events
,我在那里有一个应该可以工作的click函数。但事实并非如此。正在调用构造函数并正确跟踪元素。知道为什么点击事件不起作用吗

我假设assignmentViewLink元素已创建并追加到成功回调中。如果是这样的话,它看起来像一个序列问题。绑定click事件时,assignmentViewLink元素尚未创建,因此,click事件处理程序未附加

//bind all events
// assignmentViewLink is empty []
elements.assignmentViewLink.click(function (e) {
  console.log("blah");
  console.log($(this).data("assignmentKey"));
});

要验证这一点,请将elements.assignmentViewLink(…)移动到成功回调中。

尝试了此操作,但仍然没有成功。元素在到达click事件之前定义。我甚至尝试了一个“实时”点击事件,但也没有成功。