Javascript 获取未捕获的TypeError:RulesModule.ruleModals不是函数
为了编写一些简洁明了的JavaScript,我正在尝试使用模块。我创建了这个规则模块:Javascript 获取未捕获的TypeError:RulesModule.ruleModals不是函数,javascript,jquery,Javascript,Jquery,为了编写一些简洁明了的JavaScript,我正在尝试使用模块。我创建了这个规则模块: //RulesModule.js var RulesModule = (function () { return { checkModal: function () { var checkModalContents = // string contents return checkModalContents; },
//RulesModule.js
var RulesModule = (function () {
return {
checkModal: function () {
var checkModalContents = // string contents
return checkModalContents;
},
ruleModals: function (modalType) {
switch (modalType) {
case "CheckDateRule":
return checkModal();
default:
return "UNKNOWN MODAL";
}
}
}
});
然后,我钩住一个下拉元素的事件,当选择一个选项时,我们将该选项传递给RulesModule.ruleModals方法,以获得正确的模式
//EventSubscriptions.js
var go = false;//switch off
$('#rules').on('click', function () {//on click
if (go) {//if go
var selectedRule = $("#rules").find(":selected").val();
var contents = RulesModule.ruleModals(selectedRule); // this line throws the error
console.log(contents);
$("#modalContents").empty(); // clear up contents
$("#modalContents").append(contents);
$("#myModal").css("display", "block");
go = false;//switch off
} else { go = true; }//if !go, switch on
}).on('blur', function () { go = false; });//switch off on blur
在我的HTML中,我在标题中加载了两个javascript文件:
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="~/JavaScript/Modules/RulesModule.js"></script>
<script src="~/JavaScript/EventSubscriptions.js"></script>
</head>
来自
RulesModule
的返回是一个对象,checkModal
和ruleModals
是它的两种方法,因此请尝试通过this调用checkModal
var RulesModule=(函数(){
返回{
checkModal:function(){
var checkModalContents='';//字符串内容
log('Check model called')
返回checkModalContents;
},
规则模态:函数(模态类型){
开关(modalType){
案例“CheckDateRule”:
返回这个。checkModal();
违约:
返回“未知模态”;
}
}
}
}());
console.log(RulesModule.ruleModals('CheckDateRule'))