[英]Why is my class undefined at runtime. Javascript module pattern
当我运行我的应用程序时,我得到:“未捕获的TypeError:无法读取未定义的属性'init'”文档reasdy函数中的警报运行,所以我知道jQuery在那时被加载。 但我不知道为什么任务未定义。
这是在MVC5应用程序中,并运行jQuery 1.10.2
请帮助,jsFiddle工作正常,JsHint没有显示错误。
var Task = (function () {
var initialize = function () {
console.log($);
bindEvents();
};
var postFilter = function () {
console.log("clicked");
var postData = {
UserID: $('#user_select').val,
TaskTypeID: $('#taskTypeSelect').val,
TaskStatusID: $('#status_select').val,
PriorityID: $('#priority_select').val
};
$.ajax({
url: "/Tasks/_AllTaskView",
data: postData,
success: function (response) {
$('#results').html(response);
}
});
};
var bindEvents = function () {
$('#submit_filter').on('click', postFilter);
};
return
{
init : initialize
};
})();
$(document).ready(function () {
alert()
Task.init();
});
把你的大括号return
在同一条线上的return
。
代替:
return
{
init : initialize
};
做这个:
return {
init : initialize
};
JavaScript具有自动分号插入功能,它会在返回大括号之前自动结束return语句。
试试这个:
return{ init : function(){
initialize();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.